- 博客(6)
- 收藏
- 关注
原创 Activity的四种启动模式
Activity启动模式1.标准模式(standard):每启动一次Activity,就会创建一个新的Activity实例并置于栈顶。谁启动了这个Activity,那么这个Activity就运行在启动它的那个Activity所在的栈中。应用场景:一般我们不主动设置启动模式,都是标准模式。2.栈顶模式(singleTop):如果栈顶存在该activity的实例,则复用,不存在新建放入栈顶。应用场景:(1)点击通知跳详情 (2)新闻详情页,点击推荐新闻条目3.栈内模式(singleTask..
2021-01-30 19:39:11
353
原创 Handle原理
handle原理 面试题1、首先Looper.prepare()在本线程中保存一个Looper实例,然后该实例中保存一个MessageQueue对象;因为Looper.prepare()在一个线程中只能调用一次,所以MessageQueue在一个线程中只会存在一个。2、Looper.loop()会让当前线程进入一个无限循环,不端从MessageQueue的实例中读取消息,然后回调msg.target.dispatchMessage(msg)方法。3、Handler的构造方法,会首先得到当前线程中保存的
2021-01-30 19:33:49
246
原创 Glide原理
1)首先,Glide.with(activity)方法得到RequestManager类,这个类的主要作用是将glide 与 整个组件的生命周期绑定在一起。(它实现了LifecycleListener接口,这是一个与Context的生命周期绑定的接口,将request与生命周期绑定,这样就可以通过context的生命周期去操作网络请求的开始,暂停等。)如何绑定的??答:在Activity上创建一个透明无界面的RequestManagerFragment加入到FragmentManger中,通过添加的Fra
2021-01-28 18:42:20
2487
原创 Android中的内存溢出
内存溢出概念:通俗一些将,就是内存不足,安装软件的内存大于了手机的内存,有时候软件会自动关闭,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件,而由系统配置、数据流、用户代码等原因而导致的内存溢出错误,即使用户重新执行任务依然无法避免。情况一: 加载大量的图片,或者加载内存较大的图片。解决办法:尽量使用它缩略图,或者对图片进行二次采样。情况二: 数据库使用完毕,没有关闭数据库,询数据库没有关闭游标解决办法:及时关闭数据库。情况三:代码中存在死循环或循环产生过多重复对象实体造成的内存溢出解决
2021-01-28 18:31:38
419
原创 Java中的八大基本数据类型
Java中的八大基本数据类型,以及所占字节大小,取值范围:byte : 8位(1字节),最大存储数据量是2的8次方,即0-255,存放的数据范围是-128~127之间。shot:16位(2字节),最大数据存储量是65536,数据范围是-32768~32767之间。int :32位(4字节),最大数据存储容量是2的32次方,数据范围是负的2的31次方到正的2的31次方减1。long:64位(8字节),最大数据存储容量是2的64次方,数据范围是负的2的63次方到正的2的63次方减1。double:64
2021-01-28 18:30:30
1017
原创 Android中的内存泄漏
**Android中的内存泄漏**Android中的内存泄漏:概念:程序在申请内存后,当该内存不需再使用但却无法被释放 & 归还给程序的现象,对应用程序的影响,容易使得应用程序发生内存溢出,即 OOM,其实也就是当一个对象使用完毕后,被另外一个对象持有并引用,导致无法被回收的现象叫内存泄漏。内存泄露的危害 内存泄露的危害就是会使虚拟机占用内存过高,导致OOM(内存溢出),程序出错。 对于Android应用来说,就是你的用户打开一个Activity,使用完之后关闭它,内存泄露;又打开
2021-01-28 18:29:05
1130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人