私のアプリケーションにはlistViewがあります。
この listView に一度に 10 個の項目を入力しました。
そのため、spalsh 画面を表示しているときに、バックグラウンドで最初の 10 項目をフェッチします。スプラッシュ画面が消えると、ユーザーは最初の 10 個の項目を見ることができます。
このlistViewを含むアクティビティで、次のようなものを書きました:
onLastItemReached(){
getNextten();
}
正常に動作します。そして、このlistViewActivityから別のアクティビティに行くときは、フラグを設定して、それまでに閲覧したすべてのアイテムが戻るときに保持されるようにします(つまり、ユーザーが100アイテムまでスクロールして1つのアイテムをクリックし、いくつかのアクティビティに行き、デバイスの戻るボタンをクリックすると、100 番目のアイテムが表示され、残りの 99 アイテムは再度取得する必要はありません)
問題は、アプリケーションを閉じて、5〜10分後に開くと、次のように言ってクラッシュすることです。
ArrayIndexOutOfBoundsException
1〜3分で再度開くと、正常に動作します。
申し訳ありませんが、すべてのアクティビティに約 800 行あるため、コードを投稿できません。
なぜこの例外が常に発生するのか、誰もが知っています。私が知りたいことの1つは、次のようなものはありますかif an app is in background for more than 5 mins remove all its data
編集:
アプリケーションを閉じます。つまり、ListView画面にいるときにホームボタンを押し、5〜10分後にアプリを再度開きます
これは私が取得した StackTrace です。unCaughtExceptions を処理しようとしていました:
threadid=1: thread exiting with uncaught exception (group=0x40020660)
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Android.WiC_MobileApp/com.Android.WiC_MobileApp.FeedListViewActivity}: java.lang.ArrayIndexOutOfBoundsException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1728)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1747)
at android.app.ActivityThread.access$1500(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
ログ cat を見ると、エラーは 201 行目にあり、その行には次の内容が含まれています。
Log.d("array of product names", SplashActivity.products_array[0] + "--"
+ SplashActivity.products_array[1]);
これは、SplashActivity に取り込まれ、作成された配列public static
です。