【问题标题】:Android app runs slowlyAndroid 应用程序运行缓慢
【发布时间】:2016-01-04 11:43:54
【问题描述】:

我正在 Android 5.0 上开发一个非常简单的应用程序,但它总是滞后。只有一个textedit 和一个带有自定义drawable 的按钮,而不是普通按钮。 drawable 是一个 2000x2000 png 文件。 当我使用 android 设备监视器查看线程时,我注意到“渲染线程”一直在占用。我不知道它的确切功能。有人知道我的错误可能在哪里吗?

抱歉没有代码示例,我只是不知道什么会导致我的滞后以及我应该为此发布什么。

【问题讨论】:

  • 是什么样的图像?有可能变小吗?你的应用是做什么的?
  • 您使用的是设备还是模拟器?模拟器会显着减慢应用程序的执行速度。
  • 另外将图像的大小保持在最小。查看以下链接,该链接显示了每种屏幕尺寸类别的图像建议尺寸。我认为 2000x2000 对于任何尺寸的屏幕来说都太大了。 ` xlarge 屏幕至少 960dp x 720dp 大屏幕至少 640dp x 480dp 普通屏幕至少 470dp x 320dp 小屏幕至少 426dp x 320dp` 来自:developer.android.com/guide/practices/screens_support.html

标签: android drawable lag


【解决方案1】:

当您加载位图时,仅以您需要的分辨率将其保存在 RAM 中 对于当前设备的屏幕,如果是原始屏幕,则将其缩小 位图是更高的分辨率。请记住,位图的增加 分辨率导致所需的内存相应(增加2), 因为 X 和 Y 维度都增加了。

所以,我的建议是,请使用 SMALL 图片尺寸而不是 LARGE

【讨论】:

  • 我不确定,我应该改用哪个尺寸,对于一个简单的形状,你能给我建议吗?
  • 只需调整大小并将其缩小到屏幕上所需按钮视图的高度或宽度。可能会稍大一些,以避免在更大屏幕的情况下模糊。
  • 谢谢,我把它缩放到 400x400 并且效果很好。我没想到,图像会对性能产生如此大的影响。只是出于好奇,图像加载/使用的频率如何?我以为它会在开始时加载一次,然后再也不会加载。
  • @Jonas 很高兴听到。
【解决方案2】:

为不同的分辨率使用不同的drawables(使用asset studio)。还可以使用tinypng工具来减小图像的大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多