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