public class ReadList{
private static SparseArray<Read> LIST = new SparseArray<>();
public static void add(int ID){
LIST.put(ID, new Read(ID, DateFormat.getDateTimeInstance().format(new Date())));
}
public static void remove(int ID){
if(LIST.indexOfKey(ID) >= 0 )
LIST.remove(ID);
}
}
我有一些类似的读取列表..正确且正常地使用SharedPreference保存数据。
但我想在onDestroy(),onStop()或onPause()方法中调用我的 DataSaveService 启动并保存数据SharedPreference文件..
public class DataSaveService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
MyCustomSharedSaveData.saveAllReadListtoXML();
MyCustomSharedSaveData.saveAllFavoriteListtoXML();
}
}
有可能吗? 感谢您和我的英语不好......
答案 0 :(得分:1)
onDestroy()
电话取决于Android操作系统,因为它在内存不足时调用它,因此在那里拨打服务电话可能不是一个好主意。当活动完全隐藏在视图中时,将调用onStop()
,用户最小化应用程序或从上一个活动打开新活动,所以我想你可以在 onStop中调用服务方法