美文网首页
Android 代码优化

Android 代码优化

作者: 文强小弟 | 来源:发表于2019-04-10 18:06 被阅读0次

    Android Studio 工具:Lint 代码扫描工具、

    一、Analyze菜单下, 主要有Inspect Code, Code CleanUp,Analyze Dependencies等功能。Inspect Code通过运行Lint检查代码的规范性。Code CleanUp可以自动修改不规范的代码。Analyze Dependencies可以检查工程依赖的库。
    二、Android Profiler
    Android Studio 3.0 Memory Profiler使用 https://www.jianshu.com/p/e75680772375
    https://blog.csdn.net/niubitianping/article/details/72617864
    1.资源释放
    list.clear()、cursor.close()、bitmap.recycle()、mHandler.removeCallbacksAndMessages(null)、Bitmap.recycle()、imageview.setImageDrawable(null);
    动画
    animation.setAnimationListener(new AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
    }
    @Override
    public void onAnimationRepeat(Animation animation) {
    }
    @Override
    public void onAnimationEnd(Animation animation) {
    view.clearAnimation();
    }
    });
    2.代码命名规范(不要一个名字到处使用)
    3.不要在onDraw/onlayout/onMeasure(反复执行)中分配对象,会导致大量new新的对象,频繁垃圾回收。
    4.一个控件,如果没有定义focusable(可聚焦的),却定义了是clickable(可点击的),那么是不能通过键盘访问的。所以,需要添加一个focusable="true"。
    5.<activity>没有在manifest中注册
    6.string.xml中未被使用的字库信息;中文字库中有但是英文中没有(多语言)
    7.TextView不要使用android:digits、android:inputType、
    8.SharedPreferences用apply()代替commit(commit:直接写入有Boolean返回值;apply:先写入内存,再后台写入)
    9.字体设置使用:sp; margin, padding, height, width 使用:dp
    10.自定义AsyncTask、handler设置为弱引用+ static的。非静态内部类和匿名类将会持有外部类的引用。
    11.SparseArray、SparseBooleanArray、SparseIntArray、LongSparseArray代替HashMap
    12.baselineAligned="false用来对齐文案的属性默认true不需要时设置为false可以提高性能
    13.将TextView和ImageVie合成一个,直接在xml中利用TextView的 android:drawableTop、android:drawableRight等属性指定
    14.当一个布局包含另一个时,将布局替换成<merge></merge>
    15.简单的循环用foreach替换for
    16.contains()返回的是boolean类型;indexOf()返回的是int类型,子字串在父字串中首次出现的位置,没有返回-1。所以contains()效率比较高
    17.线程安全用StringBuffer,其他的使用StringBuilder
    18.使用字体图标库(或矢量图)代替使用drawable资源。

    相关文章

      网友评论

          本文标题:Android 代码优化

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