隨着應用程序的過程中收集內存可能會在任何時候被破壞,這些靜態實例很重要確實收集垃圾。
如果你把這些靜態變量在自定義的應用程序對象,同樣適用,除非你的每個應用程序獲取(重新)創造了時間初始化它們在應用程序的onCreate功能。
你應該跟蹤使用或者SharedPreferences或SQLite數據庫持久性數據。
如果這些變量都太複雜,無法存儲一樣,那麼你可能要考慮使用單(不推薦子類的應用,因爲它曾經是)。
public class MySingleton {
public static MySingleton getInstance(Context context) {
if (instance==null) {
// Make sure you don't leak an activity by always using the application
// context for singletons
instance = new MySingleton(context.getApplicationContext());
}
return instance;
}
private static MySingleton instance = null;
private MySingleton(Context context) {
// init your stuff here...
}
private String id = null;
private String uniqueId= null;
private String token = null;
private String sessionId = null;
}
您已將null分配給您在此顯示的所有變量。你在說哪個變量?當您使用會話類和公共靜態成員 –
使用SharedPreferences保存您的變量,因爲機器人可以在必要時清理內存。但我不覺得有必要將所有這些信息放在SharedPreferences中(以上僅爲示例)。單身人士或應用程序類更好/最差的選擇? – Houcine
@BheshGurung他們得到的 – shkschneider