您的位置:首页 > 移动开发 > Android开发

Android项目优化方案(持续更新中,想到什么写什么)

2017-12-20 01:44 375 查看
1、对于不再使用的ImageView,除了设置visibility之外,还需调用
imageView.setImageDrawable(null)
将其图片置空。否则,除非这个ImageView被销毁,否则它的图片对象会一直占用内存。

2、使用Glide加载Layout的背景图,而不是直接写在布局的background里。

Glide.with(this).load(R.mipmap.ic_launcher)
.into(new SimpleTarget<GlideDrawable>() {
@Override
public void onResourceReady(GlideDrawable d, GlideAnimation<? super GlideDrawable> a) {
linearLayout.setBackground(d);
}
});




上图明显的显示出这两种方式的优劣:对于一张1080P的图片,在布局中直接设置background属性,app的内存占用接近60M,而使用Glide之后,仅仅占用了8M的内存,降低了将近50M。

通过计算,1080*1920*24/1024/1024 = 47M,也就是说一张1080P的24位Bitmap会占用47M的内存,这也是为什么尽量避免直接使用大尺寸图片直接作为布局背景的原因。而这个内存的占用是和原图片占用空间大小无关的,不管原图是1MB还是20KB。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 优化 小技巧