• 为什么Android应该根据屏幕分辨率来加载不同的图片文件


    1.图片在xxhdpi,手机是hdpi的

    我们有一个手机是hdpi的。我们还有一个图片,我们把他放在xxhdpi下。当手机显示的时候,系统会去hdpi中找,发现没有图片,最终在xxhpi中找到。终于找到图片后,系统会觉得xxhdpi中的图片一定很大,而我要把它显示在hdpi的手机中的话就应该压缩下图片,最终成为了原图的1/4,而压缩后的图片会损失一些东西,就会造成模糊的情况。这样的坏处也是显而易见的,显示到手机的图片资源清晰度下降,模糊了很多。

    2.图片在dpi,手机是hdpi的

    系统先去hdpi中找,没找到,最终在dpi中找到了。系统接着会把它加载到内存中,加载到内存前会先按比例拉伸。拉伸后再显示到手机中清晰度是没有问题,但是内存占用确增大为原来的4倍!

    Q:同一套 DPI 资源在不同手机上使用时内存消耗有什么不同? 或 App 中加载不同 DPI 文件夹中的资源内存消耗有什么不同?

    A不要使用一套资源适用于各种不同 DPI 的设备,这样图片的清晰度和内存消耗都会有问题。这就是为什么 Android要求对不同DPI文件做不同的资源,并且不同 DPI资源的长宽比要与DPI Ratio相对应。

    所以我们需要为不同的分辨率准备不同的资源图片!

    参考自:

    http://www.tinylab.org/android-loading-a-different-relationship-between-dpi-and-memory-consumption-of-resources/

  • 相关阅读:
    java项目生成jar,并在cmd中执行jar
    Java中使用Log的方法
    JavaScript高级程序设计(十):数组类型
    oracle 查询XML操作、操作系统文件
    Oracle job procedure 存储过程定时任务
    ASP调用存储过程访问SQL Server
    自己如何获取ADO连接字符串
    SQL Server 开发指南
    SQL Server 数据库设计
    SQL Server 触发器
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4463843.html
Copyright © 2020-2023  润新知