2

私は、タブレット用に設計されたアプリケーションに取り組んでいます (具体的には、Motorola Xoom および Samsung Galaxy Tab 10.1 で十分にテストされています)。使用したOSはHoneyCombです。

最近、アップデートのお知らせでOSを正式なIcecream Sandwich 4.0.3にアップデートしたところ、アプリの調子がいまいちでした。パフォーマンスが低下し、ANR (アプリケーションが応答していません) ダイアログが頻繁に表示されます。

ANR が UI スレッドでより多くの作業を実行することに関連していることは理解していますが、この新しい Android バージョン 4.0.3 では、バックグラウンドで実行されるスレッドの数に対してより厳しい制限が適用されるのでしょうか? または、それを開始したアクティビティが存在するため、それらを殺しますか?

アプリケーションはスレッドを排他的に使用して、リスト ビューでサーバーから画像を読み込みます。画面を切り替えると、個々の画像ホルダーがロードのために新しいスレッドを開始します。Honeycomb で再テストすると、完全に正常に動作しますが、4.0.3 では動作しません。なぜですか?

問題は、アイスクリーム サンドイッチ 4.0.3 が、OS レベルでのスレッドの処理または開発者のアクティビティ ライフサイクルで、この領域に変更を加えるかどうかです。

4

1 に答える 1

0

ICS のアクティビティ ライフサイクルに大きな変更はありません。

アクティビティのライフサイクルは次の場所にあります。

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

UI スレッドで重い作業を実行するべきではありません。SettingsICSのアクティビティでは、CPU 使用率など、プログラムのパフォーマンスの問題を確認するのに役立ついくつかのオプションをDeveloper options有効にすることができます。Strict mode

于 2012-02-08T06:00:48.423 に答える