SharedPreferences.Editor花费的时间太长

时间:2019-07-11 15:01:01

标签: java android performance sharedpreferences

我正在修复来自Android应用程序的代码,该代码太慢并且收到诸如“跳过561帧!该应用程序可能在其主线程上做过多工作”之类的消息。一直。

我跟踪了花费了很长时间的内容,发现它是SharedPreferences.Editor方法中的clearpreferences

我这样做了:

public void clearpreferences(String name) {
    Log.d("RoTips", "CP I: " + new Date());
    SharedPreferences sharedpreferences = app.contexto.getSharedPreferences(name, Context.MODE_PRIVATE);
    Log.d("RoTips", "CP edit: " + new Date());
    SharedPreferences.Editor editor = sharedpreferences.edit();
    Log.d("RoTips", "CP clear: " + new Date());
    editor.clear();
    Log.d("RoTips", "CP commit: " + new Date());
    editor.commit();
    Log.d("RoTips", "CP F: " + new Date());
}

,我发现其他所有内容都花了不到一秒的时间,但是"SharedPreferences.Editor editor = sharedpreferences.edit();"花了 6MIN

所以我的App一直在等待编辑器完成,为什么要花这么长时间呢?

我不知道它是否相关,但是在“调试”中出现此消息后,这些“跳帧”消息通常很高:

W/AudioCapabilities: Unsupported mime audio/mpeg-L1
W/AudioCapabilities: Unsupported mime audio/mpeg-L2
W/AudioCapabilities: Unsupported mime audio/x-ms-wma

之前:

W/VideoCapabilities: Unrecognized profile/level 1/32 for video/mp4v-es
W/VideoCapabilities: Unrecognized profile/level 32768/2 for video/mp4v-es
W/VideoCapabilities: Unrecognized profile/level 32768/64 for video/mp4v-es

0 个答案:

没有答案