問題タブ [art-runtime]

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.

0 投票する
2 に答える
4311 参照

android - Android - ハンドラーを再帰的に呼び出す際のガベージ コレクター エラー

私は継続的に仕事をしようとしています。このジョブでは、ハンドラーを使用し、このハンドラーを一定の時間間隔で再帰的に呼び出しています。私のコードは、Android バージョン 4.3 の Samsung Galaxy Note 2 で実行されますが、Android バージョン 4.4.2 の Nexus 5 では実行されません。私はこの問題で立ち往生しています。コードとエラーログを載せています。助けてください。良い一日を過ごしてください。(コードは簡略化していますので、簡単に解析できますが、必要に応じてすべてのコードをここに記述できます。) (また、サイズが大きいため、すべてのエラー ログを記述しませんでした。)

コード:

エラーログ:

0 投票する
0 に答える
628 参照

android - smali と Dalvik と Android ランタイムの学習

Google が Dalvik から ART に移行していることは誰もが知っています (4.4.2 には実験的なサポートもあります)。明らかな理由から、非常に基本的な疑問が頭に浮かびます。最近、何らかの目的で生成された smali ファイルの修正に取り組み始めた後です。これが私の質問です:

apk ファイルを展開すると、dalvik 実行可能ファイルと、dalvik オペコードやその他の関連するものを含むさまざまな smali ファイルが表示されます。したがって、Google が ART の使用を強制すると、apk ファイル内のこの構造に同様のものが含まれるかどうかに驚きました。

これは多くの人にとって非常に基本的な質問かもしれませんが、このフォーラムでの最初の質問なので、このトピックに関する知識が限られていることをお許しください。

0 投票する
1 に答える
5901 参照

android - アートを実行している Android L プレビューの java.lang.StackOverflow エラー

トピックに直接ジャンプすると、Android L はデフォルトのランタイムとして ART を導入します。基本的にドキュメントビューアであるサンプルアプリケーションがあります。戻るボタン、検索などを含むドキュメント表示コードのほとんどは C で記述されており、Android アプリは JNI インターフェイスを使用しています。Android L 用にビルドするようにコードを更新しましたが、ドキュメントは問題なく開くようです。ただし、[戻る] ボタンを押してドキュメントを閉じると、アプリケーションがクラッシュしたように見え、次のバックトレースが表示されます。

戻るボタンを押すと、ファイル記述子が閉じられるはずのときに CallIntMethodV が呼び出され、最終的に JNI のチェックに失敗します。同じコードが dalvik でも問題なく動作するようです。Android L プレビュー用に JNI コードを正常にコンパイルするには、次のフラグを追加する必要がありました。

重要な点は、なぜ art では失敗し始めたのか、dalvik では失敗し始めたのかということです。問題を引き起こしている CallIntMethodV の特定の変更またはコンパイラの厳密さがそのようなエラーを引き起こしていますか? 任意のポインター。必要に応じて追加の詳細を提供させていただきます。

更新: ネイティブ コードが JNI に呼び出す File Close 関数の呼び出しを一時的に無効にしましたが、現在はクラッシュしていないようです。