問題タブ [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.

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

android - ART (Android Run Time) とは何ですか? ART と互換性を持たせるためにライブ Android アプリケーションに必要な変更はありますか?

Google は、Android アプリを実行するための新しいランタイムである ART の使用を開始し、Android 4.4 (一部のデバイス) に付属していると聞いています。ここで確認したいのは、プログラム的に変更が必要か、既存のアプリケーションにないか、または新しいアプリケーションを作成するための基準、つまり Dalvik で実行するだけでなく ART と互換性があるかどうかです。

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

android - dexopt と dex2oat の違いは?

GoogleDalvikからART(Android ランタイム)に移行しています。

どうすればパフォーマンスが向上するのか、理解しようとしていました。

私が見つけた最良の説明は、以下の画像です。

ダルビックとART

変更された主なコンポーネントの 1 つはdexoptですdex2oat

これらについてはよくわからないので、違いと、これがどのようにパフォーマンスを向上させるかを誰かが説明できますか?

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 関数の呼び出しを一時的に無効にしましたが、現在はクラッシュしていないようです。

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

android - 新しい Android ランタイム (ART) は Java コード AOT のみをコンパイルしますか?

Android 5 (Lollipop) のデフォルトとなった新しい Android ランタイム (ART) について読みました。

この新しいランタイムで有効になる事前コンパイルが Java コードのみで機能するのか、それともすべてのコードで機能するのか疑問に思っています。

たとえば、私は Android 用の Mono (C#) コードを書いていますが、新しい ART で実行するときに変更の対象になりますか?

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

java - Android アプリが arrayindexoutofbounds 例外で強制終了する

私のアプリは正常に動作していましたが、携帯電話のEclipseで実行すると突然強制終了し始めました。いくつかのことを元に戻そうとしましたが、何も役に立ちませんでした。誰かが問題を見つけるのを手伝ってくれますか?

私の最初の活動:

私の2番目の活動:

私の最初のxml:

私の2番目のxml:

ログキャット:

121行目でarrayindexoutofbounds例外が発生したと言われていますが、インデックスの値は0です。

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

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の何らかのバグですか?