2020跳槽大厂,11道Android性能优化面试题你会个?

本文列举了11道Android性能优化面试题,涵盖内存管理、图片加载、WebView优化、Bitmap处理、内存回收机制、内存泄露检测、应用启动优化、ListView与RecyclerView对比等内容,强调理解而非机械记忆答案。
摘要由CSDN通过智能技术生成

因为实际开发与参考答案会有所不同,再者怕误导大家,所以这些面试题答案还是自己去理解!面试官会针对简历中提到的知识点由浅入深提问,所以不要背答案,多理解。

1、图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理?

  • 参考回答:
    • 首先我们要清楚图片的三级缓存是如何的

       

       

      如果内存足够时不回收。内存不够时就回收软引用对象

2、内存中如果加载一张500*500的png高清图片.应该是占用多少的内存?

  • 参考回答:
    • 不考虑屏幕比的话:占用内存=500 * 500 * 4 = 1000000B ≈ 0.95MB
    • 考虑屏幕比的的话:占用内存= 宽度像素 x (inTargetDensity / inDensity) x 高度像素 x (inTargetDensity / inDensity)x 一个像素所占的内存字节大小

inDensity表示目标图片的dpi(放在哪个资源文件夹下),inTargetDensity表示目标屏幕的dpi

 

3、WebView的性能优化 ?

  • 参考回答:
    • 一个加载网页的过程中,native、网络、后端处理、CPU都会参与,各自都有必要的工作和依赖关系;让他们相互并行处理而不是相互阻塞才可以让网页加载更快:
      • WebView初始化慢,可以在初始化同时先请求数据,让后端和网络不要闲着。
      • 常用 JS 本地化及延迟加载,使用第三方浏览内核
      • 后端处理慢,可以让服务器分trunk输出,在后端计算的同时前端也加载网络静态资源。
      • 脚本执行慢,就让脚本在最后运行,不阻塞页面解析。
      • 同时,合理的预加载、预缓存可以让加载速度的瓶颈更小。
      • WebView初始化慢,就随时初始化好一个WebView待用。
      • DNS和链接慢,想办法复用客户端使用的域名和链接。

4、Bitmap如何处理大图,如一张30M的大图,如何预防OOM?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值