我从中国手机(Swees x534,Android4.4,API19)切换到Nexus P6进行调试。我今天拿到了P6,并将其升级为Android8.1,它仍然需要安装一些安全更新。
在中国的手机上,一切都没有任何明显的滞后。与此形成对比的是,Nexus甚至需要显示键盘(当我选择textedit时) 5-10秒。加载另一个活动需要更多的时间,甚至连整个应用程序都要崩溃(中国手机上的运行就像预期的那样)。我没有改变代码中的任何内容。
中国的手机没有即时运行,所以我试着在Nexus/Android上禁用它,但它没有任何帮助。
我多次重新启动Android,尝试过“调试应用程序”和“运行应用程序”,但每次都是相同的行为。
发布于 2018-10-07 02:53:02
我视网膜大小的背景造成了这个问题。一旦我把他们排除在我的活动之外,一切都进展得很快。
Google开发人员的这段视频正是关于这些问题的,并介绍了一些有用的APIs:https://www.youtube.com/watch?v=HY9aaXHx8yA
我为所有的图像类构建了一个Helper类,包括这个函数:
public static Drawable resizeByFactor(String fileName, Integer factor, Resources resources, String packageName) {
BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
bitmapOptions.inSampleSize = factor;
int imgRessourceBg = resources.getIdentifier(fileName, null, packageName);
Bitmap BitmapResized = BitmapFactory.decodeResource(resources, imgRessourceBg,bitmapOptions);
return new BitmapDrawable(resources, BitmapResized);
}
所以我可以在我的项目中的任何地方调用它:
Drawable factorResizedImg = ImageHelper.resizeByFactor(imgName,2, getResources(),this.getPackageName());
backgroundImage.setImageDrawable(factorResizedImg);
https://stackoverflow.com/questions/52667777
复制相似问题