Android 华为8.1卡顿
之前有个需求是要字体不随系统改变,然后我在我的BaseActivity里加上了以下代码
@Override
public Resources getResources() {
// 获取到resources对象
Resources res = super.getResources();
// 修改configuration的fontScale属性
res.getConfiguration().fontScale = 1;
// 将修改后的值更新到metrics.scaledDensity属性上
res.updateConfiguration(null, null);
return res;
}
结果在别的手机上没发现问题,就是在华为8.1系统上出现了整个页面的卡顿现象,之前还以为是页面嵌套的问题,于是一顿胡乱操作之后,发现就是重写以上代码的问题。只需要改成这样就行了
@Override
public Resources getResources() {
//还原字体大小
Resources res = super.getResources();
Configuration configuration = res.getConfiguration();
if (configuration.fontScale != 1.0f) {
configuration.fontScale = 1.0f;
res.updateConfiguration(configuration, res.getDisplayMetrics());
}
return res;
}
完美解决。