0

私は次の問題でソムライトに感謝します。私はリモートサーバーと通信するAndroidアプリケーションを書いています、アプリケーションはログイン画面でスターを付けます、ユーザーログイン後、アプリケーション全体、ユーザー情報、ユーザーが働いている部門などを通していくつかの重要なイオン情報に到達できるようにしたいです、
それを達成するための最善の方法について読んだ後、アプリケーションクラスを拡張してシングルトンを使用することにしました。これが例です。

public class UsuarioCustom extends Application {

 private Usuario usuario;
 private Location posicionActual;   
 private Delegacion department;
 private RutaCustom rutaActual;          

     //getters and setters ....
}

アプリケーションの要件の1つは、ユーザーの現在の場所を10分ごとに送信する必要があるため、このアプリケーションはログの実行を継続する必要があることです。

アプリケーションをテストしていますが、時々クラッシュして、アプリケーションが停止したウィンドウが表示されます。

アプリケーションをデバッグしましたが、ある時点でandroidがシングルトンクラスをnullに設定していることに気付きました。私はこれがアンドロイドの一般的な問題であることをウェブ上で読みました...

たとえば、アプリケーションを起動し、電話を機内モードにしてからアプリに戻ると、シングルトンがどのようにnullであるかを確認できます。

私はAndroidのシングルトンクラスについてウェブで読んだことがあります。一部の人々は、serviveを使用する方が良いと言いますが、公式のandroidsdkドキュメントにはここに役立つ情報が不足しているようです。

sqlliteに情報を保存することを考えているので、シングルトンクラスを使用するたびに、nullかどうかを確認します。nullの場合は、sqllitteから再度リロードします。

誰かがそのプローブに対処するための最良の方法についていくつかの素晴らしいヒントを与えることができますか?

どうもありがとう。

4

1 に答える 1

0

Web を検索した後、最終的に重要な情報を sqllite に保存することにしました。Android環境では、データをメモリに長期間保存できるとは信じられないようです.Applicationクラスを拡張してシングルトンを作成しても、遅かれ早かれAndroidは情報を削除します。

于 2012-12-13T17:15:07.560 に答える