問題タブ [android-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.
android - ART (Android Run Time) とは何ですか? ART と互換性を持たせるためにライブ Android アプリケーションに必要な変更はありますか?
Google は、Android アプリを実行するための新しいランタイムである ART の使用を開始し、Android 4.4 (一部のデバイス) に付属していると聞いています。ここで確認したいのは、プログラム的に変更が必要か、既存のアプリケーションにないか、または新しいアプリケーションを作成するための基準、つまり Dalvik で実行するだけでなく ART と互換性があるかどうかです。
android - dexopt と dex2oat の違いは?
Google
Dalvik
からART
(Android ランタイム)に移行しています。
どうすればパフォーマンスが向上するのか、理解しようとしていました。
私が見つけた最良の説明は、以下の画像です。
変更された主なコンポーネントの 1 つはdexopt
ですdex2oat
。
これらについてはよくわからないので、違いと、これがどのようにパフォーマンスを向上させるかを誰かが説明できますか?
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 関数の呼び出しを一時的に無効にしましたが、現在はクラッシュしていないようです。
android - 新しい Android ランタイム (ART) は Java コード AOT のみをコンパイルしますか?
Android 5 (Lollipop) のデフォルトとなった新しい Android ランタイム (ART) について読みました。
この新しいランタイムで有効になる事前コンパイルが Java コードのみで機能するのか、それともすべてのコードで機能するのか疑問に思っています。
たとえば、私は Android 用の Mono (C#) コードを書いていますが、新しい ART で実行するときに変更の対象になりますか?
java - Android アプリが arrayindexoutofbounds 例外で強制終了する
私のアプリは正常に動作していましたが、携帯電話のEclipseで実行すると突然強制終了し始めました。いくつかのことを元に戻そうとしましたが、何も役に立ちませんでした。誰かが問題を見つけるのを手伝ってくれますか?
私の最初の活動:
私の2番目の活動:
私の最初のxml:
私の2番目のxml:
ログキャット:
121行目でarrayindexoutofbounds例外が発生したと言われていますが、インデックスの値は0です。
android - デフォルト (パッケージ) の可視性を持つ Android メソッドが ART で正しく呼び出されない
このような異なるパッケージに2つのクラスがあります。基本クラス:
および子クラス:
クラス Child のオブジェクトがあり、child.boo() を呼び出して、「Child」が出力されることを期待しています。これは本当に私が通常得るものです。Dalvik を使用すると、実際には常に機能します。しかし、ART に切り替えると、2 つの異なる出力が得られます。
Child クラスの「package tree」から child.boo() を呼び出すと「Child」を取得します。問題は、パッケージ com.example.artpackageprivate.base のクラスから呼び出すときです。オブジェクトはクラス Child のインスタンスですが、結果は「Base」です。
呼び出しを行っている Activity クラスのコードは次のとおりです (Activity には 2 つのボタンしか含まれていません)。
このコードを Dalvik と ART (両方とも android Kitkat) で実行すると、2 つの異なる結果が得られます。BaseButton を押すと、結果は常に「Base」になります。ChildButton の結果は、Dalvik では「Child」、ART では「Base」です。これはどのように可能ですか?ARTの何らかのバグですか?