自我问答
PirateBrook
有一颗产品心的技术老兵
展开
-
声明式UI(Declarative)和命令式(Imperative)UI的差异?
声明式UI(Declarative)和命令式(Imperative)UI的差异?原创 2022-04-12 20:45:00 · 3388 阅读 · 0 评论 -
LiveData有什么优势?
感知生命周期,不需要activity管理数据,且不会发送数据到不活跃activity数据管理,且最新数据总是被获得组件销毁时,观察者会执行清理原创 2022-04-09 17:24:32 · 337 阅读 · 0 评论 -
ViewModel解决了什么问题?
Android组件和异步回调声明周期不同步,导致内存泄露configuration changes 导致数据重新获取Activity职责不单一,负责了数据的获取原创 2022-04-09 16:38:07 · 181 阅读 · 0 评论 -
Tell all the Android application components(简述Android应用组件).
Activity:窗口主体,是四大组件中负责展示与用户交互的组件Service:服务,运行在后台或者前台,提供后台服务和一些前台服务响应BoardCast Receiver: 负责消息通信,有静态很动态注册两种方式Content Provider: 负责跨应用提供公共访问数据...原创 2021-06-10 20:59:43 · 104 阅读 · 0 评论 -
What is the project structure of an Android Application?(Android项目结构)
AndroidManifest 每个应用或模块都有AndroidManifest.xml,为项目配置文件,配置权限,组件信息等信息。java目录:Java源文件代码存放res目录:应用图片,布局xml等文件存放原创 2021-06-10 20:59:00 · 93 阅读 · 0 评论 -
What is Context? How is it used?(什么是上下文,如何去使用?)
Context代表了当前应用的状态,可以用于获取应用的资源Context分为两种Application ContentActivity Context两者分别为Application和Activity提供,生命周期是不同的,比如使用单例模式需要context,使用Application Context,生命周期为整个应用。使用Activity Context会导致内存泄露,无法在activity结束后无法被GC回收。...原创 2021-06-10 20:58:21 · 677 阅读 · 0 评论 -
Android ART和JVM的差异
ART全称是Android Runtime,ART不符合JVM标准,所以不属于JVM,ART基于寄存器的数据结构,是专门为Android系统定制的虚拟机,通过编译工具链将基于栈的Java字节码转换为基于寄存器结构(内存中虚拟出的寄存器)的dex字节码,并通过AOT(Ahead of time)编译技术,安装时通过dex2oat工具,将dex字节码转换为当前设备的机器码,提高了运行效率。Android N:使用AOT编译,解释和JIT对于JIT编译过的方法记录在Profile配置中当设备闲置和充电原创 2021-06-03 18:31:44 · 704 阅读 · 1 评论 -
什么是冯诺依曼计算机体系结构?
存储程序计算机冯诺依曼在论文《First Draft of a Report on the EDVAC》中描述了“处理器”和“存储设备”分开的计算机体系。该体系又被称为存储型计算机,区别于可编程,不可存储的计算机,需要修改电路来进行编程,修改不可存储并再次使用。优势:分开了“中央处理器”和“存储器”,使得计算机走向通用,即不需要通过手动改变电路来进行编程,此后才有更高级的“语言”进行编程。缺点:冯诺依曼瓶颈,因为当代CPU的效率和吞吐量远高于存储设备,导致性能瓶颈(IO瓶颈)...原创 2021-06-03 16:46:25 · 753 阅读 · 0 评论