問題タブ [dalvik]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - androidはすぐにjitコンパイラを取得しますか?
作品にはdalvikvm用のjitコンパイラモジュールがあり、その結果は非常に有望であると読みました。実行速度が100%向上したと言う人もいます。それがAndroidリリースにいつ組み込まれるかについて誰かが考えを持っていますか?ネクサス1のRAMの量(512MB)は、jitがまもなく導入される可能性があることを示唆しています。Android 2.5かもしれませんか?
android - Android Java コードでの「instanceof」の影響
このinstanceof
キーワードは、Android プラットフォーム (より具体的には、Dalvik VM を実行している携帯電話) に比較的大きな影響を与えますか?
android - 「java/awt/font/NumericShaper.class」の処理に問題があるため、apk を生成できません
次のエラーのため、Dalvik VM 用に Android プロジェクトをコンパイルできません。
どういうわけかインポートを台無しにしたと思いますが、このクラスは私のインポートでは決して発生しません。
android - Android開発での自動テスト
Androidプロジェクトのクラスに接続されたJUnitテストを使用した通常のプロジェクトがあります。Androidプロジェクトからコードをコミットするたびに、サーバーでテストプロジェクトでいくつかのJUnitテストを実行する必要があります。
これを行うためのベストプラクティスはありますか?これまでのところ、JUnitはDVM(Dalvik Virtual Machine)のエミュレーターでJVMとAndroidで実行されるため、JUnitテストとAndroidクラスが2つの異なるプロジェクトに分けられている間だけテストを実行できました。
java - Android Dalvik VM での java.util.logging.LogManager のロード時のクラス初期化の問題
Android ネイティブ ライブラリに変更を加え、新しい system.img ファイルをインストールしましたが、起動時に関係のないエラーが発生しています。エラーを飲み込むことでそれを乗り越えることができますが、誰かが問題を説明できるかどうか知りたかったのです。
Logger.java の Android 実装は、そのクラスの初期化コードが必要な 1 回限りのセットアップを実行するため、LogManager の初期化を強制していると主張しています。しかし、この強制的な初期化により、NoClassDefFoundError が発生します。クラスがまだ Zygote によってプリロードされていないことと関係があると思いますが、クラス ローダー全体と VM ビジネスについてはあまり詳しくありません。
誰かが何らかの洞察を持っているなら、それは大歓迎です。ありがとう。
android - プリミティブ型はAndroidでガベージコレクションされますか?
これはばかげた質問かもしれませんが、私の経歴はC++と自分の記憶の管理にあります。
私は現在、ガベージコレクションと知覚される「ラグ」の頻度を減らすために、ゲームの1つから可能なすべての割り当てを削減しているため、作成するすべての変数について、オブジェクト(StringやRectなど)を使用します。コンストラクターで事前に作成し、単純な10行の関数で一時変数を作成しないようにしています...(それが理にかなっていることを願っています)
とにかく今夜はもう少し作業していましたが、ガベージコレクションとプリミティブ型(int、boolean、float)は、呼び出される10行の関数で作成するこれらのプリミティブ型変数であるという仮定について完全に間違っている可能性があることに気付きました。ガベージコレクションの問題に1秒間に20回追加しますか?
したがって、1年前、数秒ごとにlogcatに次のようなメッセージが表示されます。
GCは101msで4010オブジェクト/484064バイトを解放しました
今、私はそのメッセージを15-90秒かそこらごとに見ます...
だから私の質問を言い換えると:このメッセージを見たときにプリミティブ型(int、float、booleanなど)が含まれていますか?
android - Android APIにフロートがたくさんあるのはなぜですか?
Javaのデフォルトの浮動小数点型はdoubleです。プログラムのように定数をハードコーディングする2.5
と、Javaは自動的にそれをdoubleにします。より高い精度の恩恵を受ける可能性のあるfloatまたはintに対して操作を行うと、型はdoubleに「昇格」されます。
しかし、Android APIでは、音量から長方形の座標まで、すべてがフロートのように見えます。RectF
ほとんどの描画で使用されると呼ばれる構造があります。Fはフロート用です。(float)
昇格したダブルをかなり頻繁にキャストしているプログラマーにとって、それは本当に苦痛です。私たちは皆、Javaコードがそのまま乱雑で冗長であることに同意しませんか?
通常、数学コプロセッサーとアクセラレーターは、内部型の1つに対応するため、Javaではdoubleを好みます。何らかの理由でフロートを好むAndroidのDalvikVMについて何かありますか?それとも、すべてのフロートはAPI設計の転覆の結果にすぎませんか?
java - Androidで静的変数を使用する
Androidでは、静的変数を使用することをお勧めしますか?たとえば、Javaでシングルトンパターンを実装する場合、私は通常次のことを行います。
また、これはAndroid JVMによっていつクリーンアップされますか?
android - Android GC のパフォーマンスに起因するコーディング スタイルの変更、どこまでが遠すぎますか?
Android アプリケーションは、ガベージ コレクターの負荷を軽減するために、作成されるオブジェクトの数を制限する必要があるとよく耳にします。限られたメモリ フットプリントで追跡するために膨大な数のオブジェクトを作成したくない場合があることは理にかなっています。たとえば、従来のサーバー アプリケーションでは、数秒で 100,000 個のオブジェクトが作成されることは前代未聞ではありません。
問題は、これをどこまで取るかです。おそらく「物事を高速化する」ために静的状態に依存しているAndroidアプリケーションの例をたくさん見てきました。ガベージ コレクションが必要なインスタンスの数を数十から数百に増やすことで、本当に大きな違いが生じるのでしょうか? コーディング スタイルを変更して、本格的な Java-EE サーバー上にあるような数十万のオブジェクトを作成することは想像できますが、(おそらく) ガベージ コレクションされるオブジェクトの数を減らすために、一連の静的状態に依存しているようです。奇数。
パフォーマンスの高い Android アプリを作成するには、コーディング スタイルをどの程度変更する必要があるでしょうか?
android - 実行中のDalvik/AndroidアプリケーションにDalvikバイトコードを動的に生成する
この質問は、実行時にJavaバイトコードを動的に生成して実行中のDalvik VMにロードすることについて何度も質問(および回答)されていますが、実行時にdexファイル/バイトコードをアプリにロードする方法はありますか?
ありがとう