您的位置:首页 > 移动开发

Android手机设置中的清除App数据选项的思考?

2017-08-24 16:26 411 查看
今天读到SharedPreferences源码的时候,一时突发奇想手机设置中的真对单个app清除数据的时候会清除哪些数据,虽然之前一直都知道SharedPreferences这样的数据会被清除掉,但是一直没有实践过,因此做了个测试用来验证这个结论。

测试如下:

public final String TAG = MainActivity.class.getSimpleName();

private final String preferenceName = "account";
private SharedPreferences sharedPreferences;

private String key="key";
private String value="value";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e(TAG, Thread.currentThread().getStackTrace()[1].getMethodName());
sharedPreferences= getSharedPreferences(preferenceName, Context.MODE_PRIVATE);
if(getPreferenceKeyValue(key)!=null){
Log.e(TAG,getPreferenceKeyValue(key));
}
writePreference(key,value);
}

public void writePreference(String key, String value) {
sharedPreferences.edit().putString(key, value).commit();
}

public String getPreferenceKeyValue(String key){
return sharedPreferences.getString(key,null);
}


代码很简单无非是通过SharedPreference保存和读取数据,这里不作解释。

首次运行app时数据通过SharedPreference保存到本地,这时进入手机目录data/data/packageName/shared_prefs看到新建了一个account.xml文件.



接下来我们通过手机设置中的清除app数据后会看到清除前后的对比



文件夹cache,code_cache,shared_prefes被清除掉了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android app