the*_*osh 19 testing performance android sharedpreferences
我目前正在尝试为我的应用测试第三方服务,并且需要确定每次特定运行时正在进行的每项测试.
由于每次运行testApp时都可以进行多次测试,因此我需要识别每个测试.
我想到的是存储设备名称和构建(这里没有很多设备),以及每个测试的索引.
private String getTestId(){
SharedPreferences settings = getPreferences(0);
SharedPreferences.Editor editor = settings.edit();
int testNumber = settings.getInt("id", 0);
editor.putInt("id", testNumber+1);
editor.commit();
String id = Build.DEVICE + Build.VERSION.RELEASE+" - test number: "+testNumber;
return id;
}
Run Code Online (Sandbox Code Playgroud)
每次运行测试时都会运行此功能,还是可以在不担心海岸的情况下执行此操作?
如果答案是"耗时的",那么每次我进行测试以区分每项测试时,你会建议我做什么?
aus*_*len 15
关于SharedPreferences.
首次加载后,SharedPreferences缓存,因此磁盘访问加载数据需要一段时间.您可以尝试在测试套件的早期加载SharedPreferences以避免这种惩罚.
为了保持您的数据,您应该选择SharedPreferences.Editor.apply()而不是SharedPreferences.Editor.commit(),因为appy是异步的.但是,请阅读有关两者的文档,以了解哪种情况适用于您的情况.
| 归档时间: |
|
| 查看次数: |
6355 次 |
| 最近记录: |