Android APP内存优化之图片优化
这篇讲的是作者在开发一款小学教育APP时,面对高分辨率设备上图片内存占用过大的实际挑战。在2K屏(2048×1536)上,单张背景图就能消耗12MB内存,频繁切换页面导致内存飙升至百兆级别。文章聚焦于这一痛点,分享了几项针对性的图片内存优化实践。 作者首先发现一个容易被忽视的细节:为Button设置selector背景会同时加载正常与按下两张图片,导致内存占用翻倍。解决方案是通过监听触摸事件动态切换背景,或使用setColorFilter实现反选效果,既节省内存也减小APK体积。其次,针对绘制大背景图时的界面卡顿问题,作者提出将背景绘制任务移至非UI线程,通过自定义的RootSurfaceView在SurfaceFlinger中完成渲染,从而避免阻塞主线程,提升了APP的流畅度。 这些方法均源于实际项目中的摸索,虽未深入底层原理,但提供了清晰、可落地的优化思路,特别适合处理图片密集型应用的内存与性能平衡问题。