美文网首页
Android优化记录

Android优化记录

作者: 跑步写码 | 来源:发表于2019-03-07 15:25 被阅读0次

    ---------

    1.RelativeLayout会让子View调用2次onMeasure,LinearLayout 在有weight时,也会调用子View2次onMeasure
    2.RelativeLayout的子View如果高度和RelativeLayout不同,则会引发效率问题,当子View很复杂时,这个问题会更加严重。如果可以,尽量使用padding代替margin。
    3.在不影响层级深度的情况下,使用LinearLayout和FrameLayout而不是RelativeLayout。

    作者:brucevanfdm
    链接:https://www.jianshu.com/p/d874501fe771
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    文章记录:

    实战 Android中的UI过度绘制
    https://www.jianshu.com/p/9e095bacf44a
    性能优化工具(六)-Layout Inspector
    Android FPS流畅度测试
    https://www.jianshu.com/p/1fe9783d266b
    Android App性能评测分析-流畅度篇
    https://www.jianshu.com/p/642f47989c7c
    layer-list overdraw 问题
    https://slothdevelopers.wordpress.com/2014/05/21/underlining-views-with-custom-shapes-overdraw-performance/
    Layer-list 的基本使用介绍
    https://blog.csdn.net/android_cmos/article/details/80033784
    写出高效清晰Layout布局文件的一些技巧

    Style在Android中的继承关系

    • "."继承关系和parent继承关系同时存在时,只有parent有效

    卡顿优化

    胡凯优化系列文章

    内存优化

    • String 连接改为StringBuilder(线程不安全)或者StringBuffer,尤其是for循环,或者其他调用频次很高的方法中。即使是Log.d中使用了+作连接,虽然LogCat中不展示,但是String的+已经调用过,String已经new过。
    • 读写文件时的buffer大小设置,微信Matrix可以检测

    String 拼接的方法选择

    • 在拼接静态字符串时,尽量用 +,因为通常编译器会对此做优化,如:
      String test = "this " + "is " + "a " + "test " + "string"
      编译器会把它视为:
      String test = "this is a test string"
    • 在拼接动态字符串时,尽量用 StringBuffer 或 StringBuilder的 append,这样可以减少构造过多的临时 String 对象。

    Android Studio 检测

    Anaylze --> Inspection Code


    image.png

    参考文献

    Android 性能优化之String篇
    Java 性能优化之 String 篇
    Java 字符串拼接效率分析及最佳实践
    使用 Memory Profiler 查看 Java 堆和内存分配
    AndroidStudio3.0 Android Profiler分析器(cpu memory network 分析器)
    java – 如何确定使用FileInputStream时的理想缓冲区大小?
    How do you decide what byte[] size to use for InputStream.read()?
    我这样减少了26.5M Java内存!
    Android 代码内存优化建议-Android 资源篇
    循环 ViewPager 的两种实现方法

    相关文章

      网友评论

          本文标题:Android优化记录

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