美文网首页
Android优化

Android优化

作者: DB_BOY | 来源:发表于2018-12-28 21:03 被阅读219次

    本着针对面试,不负责任的态度,写下《面试总结》系列。本系列记录面试过程中各个知识点,而不是入门系列,如果有不懂的自行学习。

    大致分为四点去回答。快、稳、小、省

    1. 快

    启动快,加载快,避免卡顿

    基本操作
    • 主线程不做耗时操作
    • application里对必要的三方库延迟初始化(延迟加载,异步加载,分布加载)
    • 启动白屏优化
    View优化
    • View 布局(viewstub,include,merge,层级深)
    • 复杂页面细分优化
    • 过度绘制的优化
    • xml中无用的背景不设置
    • 控件无用属性删除
    内存优化
    • 页面切换,前后台切换
    • fragment的懒加载
    • 必要的缓存
    • 空间换时间
    • 四大引用的合理使用
    • 减小不必要的内存开销
    • 数据bean的合理定义
    • ArrayList、HashMap的使用
    • 线程池、bitmap、view的复用
    • 不用的大对象主动设置null
    代码优化
    • for循环内不定义对象
    • 使用文件IO代替数据库
    • 自定义Drawable不在draw()里面创建对象操作
    • 类中没有使用到成员变量的方法可以设置static

    2. 稳

    稳定不崩溃,减小crash,避免anr

    • 主线程不做耗时操作
    • activity 5秒、broadcast 10秒、service 20秒
    • 资源对象及时关闭(Cursor,File)
    • Handler的处理
    • 避免内存泄露
    • crash上传机制
    • WebView的内存泄露

    3. 小

    安装包小

    • 代码混淆(proguard)
    • 资源优化(lint)
    • 图片优化(mipmap/webp)

    4. 省

    省电省流量

    • 接口定义
    • 接口缓存

    性能分析工具

    MAT/TracView/LeakCanary/blockCanary/MemoryMonitor/HeapViewer

    相关文章

      网友评论

          本文标题:Android优化

          本文链接:https://www.haomeiwen.com/subject/gttylqtx.html