当浏览器的网络线程收到HTML文档后,会产生一个渲染任务,并将其传递给渲染主线程的消息队列。在事件循环机制的作用下,渲染主线程取出消息队列中的渲...
浏览器进程模型 浏览器是一个多进程多线程的应用程序为了避免互相影响,为了减少连环崩溃的几率,当启动浏览器后,它会自启动多个进程 1.浏览器进程 ...
MMKV:主要是效率,比Sp效率高DataStore:主要是稳定性 Sp原理分析 数据格式:XML格式保存初始化:子线程使用IO读取整个文件,进...
泛型的定义与作用 泛型即参数化类型,而参数概念,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。而参数化类型就是将类型由原来的具体的类型...
泛型的协变与逆变 协变与逆变用来描述类型转换(type transformation)后的继承关系,其定义如下:如果A、B表示类型,f()表示类...
自动装箱和拆箱定义 自动装箱:把基本类型用其包装类替代,使其具有对象的特性。可以调用toString()、hashCode()、getClass...
一、单例模式的特点 1、单例类只能有一个实例2、单例类必须创建自己的唯一实例3、单例类必须给所有其他对象提供这一实例5、单例模式保证了全局对象的...
撤销一个合并 如果你觉得你合并后的状态是一团乱麻,想把当前的修改都放弃,你可以用下面的命令回到合并之前的状态: 或者你已经把合并后的代码提交,但...
项目中最近把viewpager+fragment+recyclerview来实现首页,但是最近更换为viewpager2后,发现一些手势冲突的问...