0

Android SDKはメモリが必要なため、静的フィールドを自動的にクリアするようです。特定の静的フィールドがAndroidデバイスによってクリアされるのをどのように回避できますか...

public static ArrayList<PackageInfo> applications = new ArrayList<PackageInfo>();

ありがとう。

4

3 に答える 3

4

知る限り、これらの状況を実際に回避することはできません。次のような多くの代替方法があります

  1. 「Application」クラスをサブクラス化し、そこに値を追加します。ただし、Android がより多くのメモリを必要とする場合、これは null に設定されることもあります。

  2. より良い解決策は、sqlite ストレージを使用することです。データが消去されないことを確認できます。

私はオプション2で行きます。

于 2012-04-27T07:04:55.567 に答える
0

共有設定または sqlite データベースにデータを保存するか、参照を使用してみることができます (強く推奨) 。

于 2012-04-27T07:13:32.130 に答える
0

SQLite は便利で便利です。コンテナーを static にすることは避けてください。効率が悪いためです。

ここに例があります。

sqliteの例

役に立つことを願っています。

静的フィールドを使用する場合は、代わりに bundle を使用して格納します。

バンドルについての例です

于 2012-04-27T07:24:41.860 に答える