- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我们的应用程序使用 java.util.prefs.Preferences 类来存储一些用户数据字段。下面是我们首选项类的代码片段。我们的首选项存储工作正常,但是我们注意到首选项继续大约每 30 秒左右进行一次磁盘访问。有没有办法在 Preferences 类中禁用这些后台磁盘访问? (.userRootModeFile.root 大约每 30 秒更改一次)
public class NtapPreferences {
private static Preferences prefs = Preferences.userRoot(); //.systemRoot();
/** Prepends "NTAP.<applicationName>." to 'key' for system-wide uniqueness. */
private static String getKeyForApp ( String key ) {
return "NTAP." + Application.getApplicationName() + "." + key;
}
/**
* Returns the application preference value for 'key'.<br/>
* <br/>
* If 'key' is not a defined preference, then 'def' is returned.
*/
public static String get ( String key, String def ) {
return prefs.get(getKeyForApp(key), def);
}
/** Sets the application preference value for 'key' as 'value'. */
public static void put ( String key, String value ) {
//TODO how do we want to resolve failures to put data in the preferences?
try {
prefs.put(getKeyForApp(key), value);
prefs.flush();
} catch (NullPointerException e) {
LOG.error(NtapPreferences.class, e);
} catch (IllegalArgumentException e) {
LOG.error(NtapPreferences.class, e);
} catch (IllegalStateException e) {
LOG.error(NtapPreferences.class, e);
} catch (BackingStoreException e) {
LOG.error(NtapPreferences.class, e);
}
}
/** Removes the application preference value for 'key' if one is defined. */
public static void remove ( String key ) {
prefs.remove(getKeyForApp(key));
}
最佳答案
此行为由名为“java.util.prefs.syncInterval”的系统属性控制。这给出了同步之间的间隔(以秒为单位)作为整数 (int
) 值的字符串。你不能完全关闭同步,但你可以将间隔设置为一个非常大的值......虽然有一个上限(我/我们认为)597 天,由于代码将间隔转换为毫秒的方式.
引用:
关于Java util Preferences 大约每 30 秒持续访问一次磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17376200/
为了使用androidx.preference,我应该将依赖添加到build.gradle 图片 A 来自 https://developer.android.com/jetpack/androidx
我正在尝试从我的应用程序设置 (preferences.xml) 的布局中检索 SeekBarPreference。但是,当我尝试将 findPreference("font_size") 转换为 S
我的需求 拥有一个充满偏好的主屏幕 (main_screen) 单击此 main_screen 中的一个首选项(pref1)会打开一个 设置子屏幕(sub_screen) 在这个 sub_screen
我正在使用 Eclipse 3.7 (Indigo) 作为 Eclipse 插件。该插件将通过产品文件打包为独立应用程序。安装将是多用户安装,如 this link 的场景 2 中所述。 。这样就会有
Preferences.flush() 和 Preferences.sync() 有什么区别? 来自Javadoc(flush()): Forces any changes in the conten
在我的 AppDelegate.m 中,如果用户还没有进入设置面板,我会尝试从我的 Preference Bundle 中初始化默认值。初始化运行,我看到了符合我偏好的正确数量的对象,但它们都是空的,
我有 CheckBoxPreference 和其他 2 个:一个是 Edit Test Pref。另一个是 ListBox Pref。我如何启用列表框首选项和禁用编辑文本首选项。 CheckBoxPr
我想使用“prefer source”选项安装所有由我维护的依赖项,以及使用“prefer dist”选项安装所有其他非我维护的依赖项。 Composer 可以吗?我在想可能有这样的东西,但我找不到:
查看PHP Composer的install命令的帮助,看到以下两个选项 $ composer help install Options: --prefer-source Fo
我无法解决错误的问题: incompatible types: no unique maximal instance exists for type variable T with upper bou
我的任务是使用 POSIX 线程编写读写实现。我想知道我的实现对于这两种情况是否正确: 已删除可怕的尝试 2 号尝试 读者首选: 变量: int readersActive_; sem_t lock_
我正在尝试使用上面的工具栏为我的应用创建一个设置窗口,以输入“后退”按钮等。但是我总是这个错误。 错误 呈现期间引发的异常:android.support.design.widget.AppBarLa
Coverity 实例详细信息: SA 版本:8.6连接:8.7 尝试将缺陷上传到 coverity 实例时,出现以下错误 正在连接到服务器 xxx.xxx.com:9090[错误] SSL 请求失败
在我当前的应用程序中,我已将偏好设置的导入从“android.preference.Preference”更改为“android.support.v7.preference.Preference”,因
在学习旧教程 (Créez des applications pour Android -> openclassroom) 时,我被 PreferenceActivity 类中的这个已弃用的方法 ad
我想在我的应用程序中使用“API Demos/app/preferences/1.preferences from XML”布局,但我不知道在哪里可以找到源文件。我在 API 演示示例中进行了搜索,但
我必须使用 weblogic.xml 在 Weblogic 12c 服务器 (12.2.1) 上 它是基于 Jersey 1.9 的 REST 应用程序。 (Jersey 1.x JAX-RS RI)
我有一些简单的代码,我正在使用它来学习使用路标库的 OAuth 身份验证。我正在尝试使用 java.util.prefs.Preferences 将请求 token 、 token secret 和
如果没有特殊要求,我们可以使用android提供的框架来创建系统样式的preference screen,在其内部可以包含preferencecategory和preference<con
我需要基于另一个应用构建一个应用。在我的 PreferenceScreen 中,我有 2 个 ListPreference 对象。第二个依赖于第一个并禁用,直到选择第一个(仍然需要弄清楚) 我想将第一
我是一名优秀的程序员,十分优秀!