Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > 安卓技术相关 >

进阶Android开发 PDF 下载


分享到:
时间:2021-01-11 22:44来源:http://www.java1234.com 作者:小锋  侵权举报
进阶Android开发 PDF 下载
失效链接处理
进阶Android开发 PDF 下载

本站整理下载:
 
相关截图:


主要内容:

Android优化重点
2.1、Layout布局优化
1 . 在编写布局过程中经量减少层级的嵌套,可以用一个Layou完成的就不要用两个Layout布 局,在布局过程中停下来想一想该不该这样做,合不合理,多花几秒钟想想。当然谷歌也提供了
减少层次结构的标签 “merge” 。
2 . 在开发工程中遇到一个页面上有长很长的时候,不需要立马显示出来的布局可使用
“ViewSub”布局懒加载,进行延时加载。
android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" /> </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.AppBarLayout> <!--页面的主要内容--> <androidx.core.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> </LinearLayout> </androidx.core.widget.NestedScrollView> </androidx.coordinatorlayout.widget.CoordinatorLayout> 3334353637383940414243444546
3 . 在开发中肯定会遇到一些重复的布局,这个布局在多个地方使用,一定要提取出来为一个独
立的xml,应”inculde”进行复用
4 . 使用新推出的ConstraintLayout能有效的减少布局嵌套,并且在灵活性得到很大的提高。
2.2、代码优化
1 . 尽量减少使用全局变量,能使用局部变量的就用布局变量。
2 . 经量减少使用静态变量、对象。
3 . 避免使用静态的集合装着大量的数据供其他页面使用,就算不使用了也会常驻内存,静态对
象与APP生命周期几乎一致。
4 . 使用流行的开发模式开发APP:MVP、MVVM开发模式!多人开发中使用MVC进行开发,在
复杂逻辑下会Activity和Fragment会非常混乱和臃肿。
5 . 要学会如何抽取公用方法为Util类和抽取出公用的控件(Widget)供所有类使用,减少代码
冗余。要抽取公用的BaseFragment 、BaseActivity,BaseXXX供子类继承,在base类里面
做公共的初始化。
6 . 使用完IO流、Cursor用完一定要记得关闭,将对象占用的资源释放,减少资源的浪费 !
7 . 做耗时的操作要在子线程里进行,不然容易造成ANR无响应异常。
8 . 避免使用大量的注解造成资源的消耗,像TV、机顶盒应用因为硬件较差内存较小等因素造成
不必要的资源消耗造成卡顿。可以使用谷歌新推出的Databinding框架做findview等繁琐的操
作。
9 . 字符串拼接要用StringBuffer,不要使用String进行拼接。
 String str=”abc”; 
 str=str+”df”; 
这时候已经创建了两个变量了,而StringBuffer就不会。
10 . 合理的使用设计模式。单例、工厂等常用的设计模式。
2.3、列表优化(ListView、GridView等)
列表是手机应用中出现几率最大的一个控件,如果处理不当会影响列表滑动的流畅性。
1 . 在Adapter里的getView方法使用convertView复用item。
2 . 使用ViewHolder减少findViewbyId
3 . 使用ImagerLoader等图片框架加载异步加载图片和缓存处理。
4 . 使用RecycleView替换List View,在可定制化和性能上都有少许提升。
5 . 数据量大要采用分页分批加载。
6 . 适当的缓存可减少用户等待时间!
2.4、图片优化
图片是app中的大杀器。处理好图片可是大事。
1 . 使用ImageLoader等图片加载框架异步加载图片和缓存处理。
2 . 界面上的图片能使用9patch的就用9patch,因为9patch可拉伸和体积最小化减少内存消
耗。
3 . 使用用户相册的图片进行显示的时候需要进行压缩处理。分为质量压缩和等比例压缩。
4 . 使用完bitmap时记得要通知虚拟机进行回收。bitmap.recycle();
2.5、内存泄漏
 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐