美文网首页
android 开发 知识点总结

android 开发 知识点总结

作者: MissPSTime | 来源:发表于2019-03-15 10:44 被阅读0次

    一.内存泄漏

    1.静态变量

    2.注册的广播和观察者模式等等

    3.关闭流

    二.OOM异常

    1.图片压缩

    2.列表数据进行复用

    三.ANR异常

    不要在主线程做耗时操作

    四.线程间通信

    1.handler

    2.共享变量

    3.runonuithread

    4.handler.post

    五.进程间通信

    aidl 广播 共享文件和内存

    六.屏幕适配

    1.dp适配尺寸 sp适配文字

    2.特殊情况下使用权重

    3.还有可以在资源目录下放置不同分辨率的资源来适配

    七.handler机制

    八.listView的优化

    1、复用view

    2.使用viewHoleer减少findViewById的操作

    3.分页加载,一下子加载太多的数据可能会卡

    九.数据存储

    1、sp 2、文件 3、sqlite greedao  4.contentprovider

    十、activity启动模式

    1、  standard 2.singletop 3、singInstance 4.singleTask

    十一、 activity在屏幕旋转时的生命周期

    答:不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次;设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次;设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

    十二、android性能优化

    1.合理使用内存,防止内存泄漏

    2.编码时候要注意,例如使用StringBuilder来拼接而不是加号,减少对象的产生,

    3.布局减少嵌套的层数,解析速度回更快

    十三.listView和RecycleView的区别

    1.listView需要自己实现viewholder 但是recycleView则自身已经实现了

    2.recycleView支持垂直,水平,瀑布流以及九宫格

    3.recyclerview支持添加和删除的动画

    4.recyclerView的条目点击时间需要自己定义处理,

    十四.ART以及Dalvik

    Dalvik是google专门设计用于android平台的虚拟机,支持已经转化为,dex格式的应用程序的运行,在有限的内存中可以同时运行多个虚拟机的实例。每一个Dalvik应用作为独立的Linux进程运行,防止java虚拟机崩溃的时候所有程序被破坏。

    ART android runtime    在安装应用的时间已经把字节码转化为机器语言,运行更加高效

    Dalvik则需要一个解释器在用户的设备上运行

    ART优点:运行快,流畅,耗电低,系统性能明显提高

    ART缺点:占空间大,安装慢,空间换时间

    十五.git 使用教程

    https://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650744477&idx=1&sn=28c721c9d89fe52661ca56346d85ae9d&chksm=befeb3d389893ac5af081fe2b870e11b7e3846c44382aa804f3b7b8ed63da837a2126e780106&scene=0#rd

    十六.进程等级

    1.前台进程,正在和用户进行交互的进程,如果内存不够的话是最后被杀死的

    2.可见进程,用户可见,但是已经失去了焦点,不能喝用户进行交互

    3.服务进程,用户不可见,但是后台的service在运行,比如音乐

    4.后台进程,用户不可见,并且也没有运行service做任何事情,只是单纯地挂着进程

    5.空进程,不包含任何应用程序 的程序组件的进程,内存一旦不足就会被回收。

    6. 提升程序保活:调用startForegound将服务进程提升为前台等级,设置属性为粘性属性,或者在服务的ondestory中重启服务本身

    十七.Bitmap的使用

    可以通过解析流,解析文件,解析resource获取bitmap,可以设置获取的bitmap的尺寸,大小

    十八.Retrofit

    1.retrofit是基于okhttp的请求框架

    2.retrofit 使用了动态代理,意识就是在执行某个操作之前,插入想要执行的代码,retrofit.create通过动态代理生成了request,由Okhttp发送

    3.

    相关文章

      网友评论

          本文标题:android 开发 知识点总结

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