代码之家  ›  专栏  ›  技术社区  ›  Pedram Yazdipoor

在某些情况下,性能缓慢和内存不足异常

  •  -1
  • Pedram Yazdipoor  · 技术社区  · 8 年前

    我对android有点陌生,正在开发一款有10个全屏幕背景图像视图的应用程序。使用应用程序一段时间后,由于outOfMemory异常,它将强制关闭。我从photoshop designer那里得到了720 1200像素的每一张图片。我没有把不同大小的图像放在可绘制的dpi文件夹中,因为我不知道如何缩放。我应该把这个720 1200放在哪里?在哪个可绘图文件夹中?如有任何帮助或明确解释,将不胜感激。Tnx提前。

    2 回复  |  直到 8 年前
        1
  •  3
  •   Devsil    8 年前

    我不认为你正在寻找的解决方案是为不同的屏幕密度使用不同的可绘制资源文件夹,但你应该检查以下链接: https://developer.android.com/topic/performance/graphics/load-bitmap.html 关于如何在将位图加载到图像视图之前进行降采样,并确保释放不再使用的任何位图,从而更有效地加载位图。

        2
  •  1
  •   Leonardo Cavazzani    8 年前

    您必须创建不同的尺寸、布局、图像和图标文件来支持所有设备。

    xlarge screens are at least 960dp x 720dp
    large screens are at least 640dp x 480dp
    normal screens are at least 470dp x 320dp
    small screens are at least 426dp x 320dp
    

    制作此布局文件,以便所有设备的布局都相同

    根据设备提供填充、边距、字体和所有属性。

    res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
    res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
    res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)
    

    res/layout/my_layout.xml              // layout for normal screen size ("default")
    res/layout-large/my_layout.xml        // layout for large screen size
    res/layout-xlarge/my_layout.xml       // layout for extra-large screen size
    res/layout-xlarge-land/my_layout.xml  // layout for extra-large in landscape orientation
    

    对于图像

    res/drawable-mdpi/graphic.png         // bitmap for medium-density
    res/drawable-hdpi/graphic.png         // bitmap for high-density
    res/drawable-xhdpi/graphic.png        // bitmap for extra-high-density
    res/drawable-xxhdpi/graphic.png       // bitmap for extra-extra-high-density
    

    对于图标

    res/mipmap-mdpi/my_icon.png         // launcher icon for medium-density
    res/mipmap-hdpi/my_icon.png         // launcher icon for high-density
    res/mipmap-xhdpi/my_icon.png        // launcher icon for extra-high-density
    res/mipmap-xxhdpi/my_icon.png       // launcher icon for extra-extra-high-density
    res/mipmap-xxxhdpi/my_icon.png      // launcher icon for extra-extra-extra-high-density
    

    对于启动器图标

    36x36 (0.75x) for low-density
    48x48 (1.0x baseline) for medium-density
    72x72 (1.5x) for high-density
    96x96 (2.0x) for extra-high-density
    180x180 (3.0x) for extra-extra-high-density
    192x192 (4.0x) for extra-extra-extra-high-density (launcher icon only; see note above)
    

    结账 Dimension Supporting Multiple Screens 官方文件。