Android项目优化方案(持续更新中,想到什么写什么)
2017-12-20 01:44
375 查看
1、对于不再使用的ImageView,除了设置visibility之外,还需调用
2、使用Glide加载Layout的背景图,而不是直接写在布局的background里。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201712/2c1faa6f0d8b7e6de4504e23f3c84060)
上图明显的显示出这两种方式的优劣:对于一张1080P的图片,在布局中直接设置background属性,app的内存占用接近60M,而使用Glide之后,仅仅占用了8M的内存,降低了将近50M。
通过计算,1080*1920*24/1024/1024 = 47M,也就是说一张1080P的24位Bitmap会占用47M的内存,这也是为什么尽量避免直接使用大尺寸图片直接作为布局背景的原因。而这个内存的占用是和原图片占用空间大小无关的,不管原图是1MB还是20KB。
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精品开源项目整理_V20131115(持续更新中..)
- Android优秀开源项目[持续更新~欢迎推荐~]
- Android开源项目发现---ListView篇(持续更新)
- Android精品开源项目整理_V20131115(持续更新中..)
- Android开源项目发现---ViewPager 、Gallery 篇(持续更新)
- Android精品开源项目整理(持续更新中..)
- Android开源项目(非组件)_持续更新欢迎推荐
- Android开源项目发现---ImageView 篇(持续更新)
- Android开源项目发现---Layout 篇(持续更新)
- Android开源项目发现---ActionBar篇(持续更新)
- Android开源项目发现---Layout 篇(持续更新)
- Android 开源项目地址备份(持续更新。。。)
- Android开源项目发现---ImageView 篇(持续更新)
- Android开源项目发现---ViewPager 、Gallery 篇(持续更新)
- Android开源项目(非组件)_持续更新欢迎推荐
- Android开源项目发现---ProgressBar 篇(持续更新)
- Android优秀开源项目[持续更新~欢迎推荐~]
- Android开源项目发现---GridView 篇(持续更新)
- Android优秀开源项目[持续更新~欢迎推荐~]
- Android精品开源项目整理_V20140221(持续更新中..)