我在几台设备上调试我的应用程序,包括Oppo Find 7a(Android 6.0.1,Snapdragon 801和2GB内存),三星Galaxy S5 mini(Android 5.1,Exynos和1.5GB内存) ),旧的三星平板电脑(Android IV.IV.I,Hamster on a wheel,3 candy)以及刚购买的三星Galaxy S7 Edge(Android 6.0.1,Exynos的东西,4GB的RAM)。
我在新S7和Oppo之间进行的主要比较,因为我认为拥有相同的Android版本,他们本可以看到与硬件升级相同。
因此,我在新三星S7上遇到了巨大的性能问题。不仅要与Oppo进行比较,还要与旧型号进行比较。即便是平板电脑也能轻松让S7吃掉灰尘。
此外,即使他的阈值为256MB(应用程序在各种情况下平稳运行的S5 Mini的2倍),我也会使用常见的OutOfMemoryExeption报告S7上的崩溃情况。
我使用Volley大量使用HTTP请求,以及使用片段和viewPagers的动态内容。
此处是应用http://pastebin.com/EwuKZKLa
上次运行的日志你能帮我找出为什么只有在这台设备上我有这些问题吗? (如果您猜测,该设备是100%原创) 感谢
答案 0 :(得分:3)
关于堆栈跟踪,Glide尝试使用的占位符可绘制资源太大了。 Android需要为此映像分配132,710,412个字节。这相当于一个5738像素乘5738像素的图像,它大于设备屏幕。
我的猜测是你在res/drawable/
中有这个抽象。这是res/drawable-mdpi/
的同义词。然后,该图像被上采样到-xxxhdpi
(或者S7 Edge的密度),这就是您的问题所在。为此图片创建适当的密度再现,或将其移至res/drawable-nodpi/
或res/drawable-anydpi/
。
关于您的"巨大的性能问题",请使用方法跟踪和类似工具来确定问题的确切位置。