Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 没有垃圾的Android SharedPref_Java_Android_Garbage Collection_Sharedpreferences - Fatal编程技术网

Java 没有垃圾的Android SharedPref

Java 没有垃圾的Android SharedPref,java,android,garbage-collection,sharedpreferences,Java,Android,Garbage Collection,Sharedpreferences,我正在使用Android共享prefs保存用户设置。问题是每次提交值时它都会创建java对象。一种折衷方法是只每隔一段时间提交一次有效的更改,但仍然会产生垃圾,如果应用程序在更改后很快结束,则可能会丢失设置 是否有一种方法可以经常保存pref并防止垃圾生成(或可用的替代方法)。可以想象在共享pref存储中分配固定数量的字符,并在不创建字符串的情况下对其进行更新,但这需要花费大量精力来开发(即在不创建对象的情况下将浮点、布尔和整数转换为字符)。此外,重新实现框架代码似乎不是一个好主意。另一种方法是

我正在使用Android共享prefs保存用户设置。问题是每次提交值时它都会创建java对象。一种折衷方法是只每隔一段时间提交一次有效的更改,但仍然会产生垃圾,如果应用程序在更改后很快结束,则可能会丢失设置


是否有一种方法可以经常保存pref并防止垃圾生成(或可用的替代方法)。可以想象在共享pref存储中分配固定数量的字符,并在不创建字符串的情况下对其进行更新,但这需要花费大量精力来开发(即在不创建对象的情况下将浮点、布尔和整数转换为字符)。此外,重新实现框架代码似乎不是一个好主意。

另一种方法是在唯一的全局SharepReference编辑器中实例化,并使其保持活动状态,直到应用程序完成?所以您总是在同一个对象上进行提交。也许这不是最优雅或最有效的解决方案。你确定你使用的工具适合这份工作吗?你考虑过使用活页夹或广播吗?@atok我需要一种长期持久性机制,它不会创建字符串之类的对象。活页夹和广播是通信机制。