扫码关注官方订阅号
84669人学习
65727人学习
82984人学习
467778人学习
498837人学习
471966人学习
256484人学习
152542人学习
224170人学习
139536人学习
81804人学习
85022人学习
11944人学习
20001人学习
60816人学习
5487人学习
15007人学习
2150人学习
6980人学习
194925人学习
359900人学习
1142人学习
19058人学习
3206人学习
180550人学习
48569人学习
17603人学习
40936人学习
1049人学习
750人学习
32909人学习
为什么android开发一般不new一个Activity或者Service呢?
欢迎选择我的课程,让我们一起见证您的进步~~
这个问题问的好,Android的四大组件都建立在系统Binder机制之上,当启动一个组件的时候并不是单纯的建立一个组件对象,而是一系列的framework层初始化、Binder机制注册等工作,这也是为什么四大组件有别于其它普通类有生命周期的实现。如果你查看四大组件源码,四大组件类都是没有构造器的,也就是说默认构造器是无法完成组件初始化及启动工作的。直接new Activity或Service就好比new Thread而没有后续start,仅仅只是生成一个对象而已。这只是很肤浅的理解了,更深层次的理解可以去看Binder机制和研读组件代码了。
控制反转
app开发者负责定义Activity的子类, 框架负责使用(包括new)这些子类
生命周期。不同阶段的生命周期,做不同的事情,这个是android开发框架决定的,同时,andriod来自动管理生命周期
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
精品班
技术支持
技术咨询
学习群
会员优惠
返回顶部
这个问题问的好,Android的四大组件都建立在系统Binder机制之上,当启动一个组件的时候并不是单纯的建立一个组件对象,而是一系列的framework层初始化、Binder机制注册等工作,这也是为什么四大组件有别于其它普通类有生命周期的实现。如果你查看四大组件源码,四大组件类都是没有构造器的,也就是说默认构造器是无法完成组件初始化及启动工作的。直接new Activity或Service就好比new Thread而没有后续start,仅仅只是生成一个对象而已。这只是很肤浅的理解了,更深层次的理解可以去看Binder机制和研读组件代码了。
控制反转
app开发者负责定义Activity的子类, 框架负责使用(包括new)这些子类
生命周期。不同阶段的生命周期,做不同的事情,这个是android开发框架决定的,同时,andriod来自动管理生命周期