android Bitmap内存优化(四) android 本地资源图片的处理

本地图片资源的处理

制作 .9 图片

在 Android developer 的 Tools 下有关于 .9的制作流程 tools/help/draw9patch

你可以直接在 Android studio 打开和制作 .9 图片,如果是使用 eclipse 的同学则需要去 sdk 的 tools 目录下找到 draw9patch.bat 然后双击运行

基础操作区域介绍
这里写图片描述

区域 1 :操作区域,你打开后的图片,你需要在这个区域进行绘制操作
区域 2 :预览区域,总共有三种预览效果,从上到下依次是,垂直拉伸预览效果,水平拉升预览效果,垂直和水平同时拉伸预览效果。
功能 3 :勾选之后,显示不能操作的 lock 区域
功能 4 :勾选之后,显示的是你想要在图片上显示的区域
功能 5 :勾选之后显示绘制的 拉伸区域
功能 6 :显示无效的绘制边

首先将

步骤:

点击右上角 File,打开一张你要制作的 png图片(只能打开png图片,因为jpg图片没有透明度)打开之后工具会自动帮你在四周加上 1 px 的透明像素,用于绘制。

这里写图片描述

然后开始绘制,左边1px像素边绘制的是像素点是水平(左右)拉伸的区域范围,上边1px像素边绘制的是垂直(上下)拉伸时的拉伸区域

这里写图片描述

tip:实际开发情况你可以各绘制一个拉伸像素点,和你设置若干个像素点的效果是一样的

绘制右边和下边像素边,右边和底部的像素点绘制区域表示设置拉伸时候的 非padding 区域,也就是说,你没绘制的话,padding 就是 0,如果绘制的话,就是总长度减去绘制长度为padding的值。

绘制出错问题,不能对两种区域进行重叠绘制,意思是左边像素点边和右边像素点边绘制区域不能重叠(上下像素边也一样),下面是绘制错误的情况,android 不能使用这种存在 badbatchs 的 .9 图片
这里写图片描述

关于 drawable 文件夹的处理

我们知道 Android 在 res 文件夹下有不同限定符后缀,drawable,value之类的都有,系统运行时,会根据这个限定符后缀去查找文件。
这里写图片描述

就拿 drawable 文件来说,xxhdpi的手机,会先去drawable-xxhdpi 的文件夹下查找图片,如果没有的话,就会往回查找,先查找xhdpi文件夹,根据分辨率,最后才是 drawable,但是如果你同一张图片放在 drawable 和 xxhdpi 然后显示在 xxhdpi上同一个 ImageView 上的内存大小是不一样的,简单来说会执行下面这条公式,Android 系统会自动帮你缩放图片。

缩放公式:缩放后大小= 图片实际大小 × (手机密度/图片密度)

具体的图片选择规则如下
这里写图片描述

再解释一下,因为 android 中 bitmap 对象包含了对象内存和像素内存,之前3.0之前,是分开存储的,3.0以后都是存储在一起的,所以android 系统帮你自动放大之后,会浪费很多内存。

关于应用程序图标 launcher icon

android 官方建议为

36x36 (0.75x) for low-density

48x48 (1.0xbaseline) 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

分别为不同的分辨率的手机制作不同分辨率的应用程序图标,

另外在 最新版的 Android studio 中 1.3.1中,自动生产了 mipmap-xxxx 文件夹,这个文件夹下存放不同的应用图标(按照分辨率存放)

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值