Android(バージョン2.3)のアプリケーションのメモリが少なすぎる場合。ブラウザの電源を入れて4枚のカードを開いたときに140MBの空きメモリがあるデバイスでテストを行いましたが、30〜40MBの空き容量があります。私のアプリケーションは10MBですが、Android自体にもう一方を使い始めるとオフになります。Androidにアプリケーションをオフにしないように強制することは可能ですか?これは非常に煩わしいので、このアプリケーションとセッション変数(ApplicationState)に戻った後、奇妙なことが起こり始めます。
3 に答える
これを完全に防ぐには、Android システム自体を変更する (つまり、再構築するか、最低限のルート化を行う) しかありません。それでも、特定のメモリ プレッシャーのポイントで、アプリが強制終了されないようにすることは、ユーザーがフォアグラウンドで何をしようとしても、または一般的なデバイスでさえクラッシュすることにつながります。
他の人がすでに推奨しているように、アクティビティのライフサイクルに従って、殺される可能性を適切に処理することをお勧めします。
簡単な答えは「これは不可能です」です。ここでフォアグラウンドサービスを使用してみることができますが、それでもアプリが強制終了されないという保証はありません。アンドロイドが本当に電話などのより重要なアプリのためにメモリを必要とする場合。
説明していることを実行しようとするのではなく、実際にアクティビティのライフサイクルを注意深く確認し、適切なコールバックを実装してセッション/状態を保存および復元することをお勧めします。
No it isn't possible. The best you can do is use a foreground service, but even that doesn't guarantee your app won't be killed.
It sounds though like you might really want to just store the state of the app so that when you restart it's in the same state the user left it in. If you properly store and restore the application state you shouldn't get strange things happening.
Do you understand the Activity lifecycle? If not, I suggest you read up on it.