Android组件实例化问题
对于Application、 Activity、 Notification、 BroadCast、 Service 这些组件的使用,对象的实例化问题各有不同,如何实例化以及在什么时候实例化也所有不同。
一、如何实例化
【应用程序】Application:回调OnCreate()方法实例化
【活动】Activity:回调【生命周期】实例化
【通知】Notification:需要实例化【关键字new】
【广播】BroadCast:【系统自动实例化】在Androidmainfest.xml中注册即可,获取不了广播对象。【手动实例化】new关键字,用java代码程序注册,但是最后必须程序注销
【服务】Service:【系统自动实例化】为开始服务,获取不了服务对象。【手动实例化】在Androidmainfest.xml注册,为绑定服务,可以获取服务对象,通过服务链接对象,链接成功后,可获取服务类的内部类对象,该内部类继承自IBinder,内部类用于获取服务类对象。【代理模式】
二、在什么时候实例化
【应用程序】Application:项目启动的时候实例化结束
【活动】Activity:活动界面出现的时候实例化结束
【通知】Notification:只有手动实例化,通过关键字new,但是该对象不可使用,需要通知服务管理NotificationManager对象notifity()方法发出通知,同时带一个ID
【广播】BroadCast:【手动实例化】new关键字实例化结束,但是该对象不可使用,只有使用registerReceiver()方法注册该广播的时候对象才可使用,而广播只有上下文可才能注册,发送广播可由上下文和PendIntent发送。【自动实例化】项目启动结束实例化,广播对象可使用
【服务】Service: 【手动实例化】项目启动没有实例化,在第一次context.bindService()才实例化,同时实例化的服务对象采用代理模式获取,以后再次调用该方法绑定服务都不会再次实例化,而每次绑定服务都只会执行一次onBind()周期,最后一个活动解绑会执行unBind()周期,服务结束。【自动实例化】项目启动没有实例化,在第一次context.startService()才实例化,获取不了该实例化对象,以后再次开启都不会实例化,每次开启服务都不会startCommand()周期。
Android组件实例化问题的更多相关文章
- Android组件的通讯——Intent
转载:Android组件的通讯-Intent 1.概述 一个应用程序的三个核心组件——activities.services.broadcast receivers,都是通过叫做intents的消息激 ...
- Android组件生命周期(二)
引言 应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生 ...
- 蘑菇街Android组件与插件化
插件化的基石 -- apk动态加载 随着我街业务的蓬勃发展,产品和运营随时上新功能新活动的需求越来越强烈,经常可以听到"有个功能我想周x上,行不行".行么?当然是不行啦,上新功能得 ...
- android 组件使用()
程序入口点 类似于win32程序里的WinMain函数,Android自然也有它的程序入口点.它通过在AndroidManifest.xml文件中配置来指明,可以看到名为NotesList的activ ...
- Android组件化方案
Android组件化项目地址:Android组件化项目AndroidModulePattern Android组件化之终极方案地址:http://blog.csdn.net/guiying712/ar ...
- 【Android开发日记】之入门篇(十二)——Android组件间的数据传输
组件我们有了,那么我们缺少一个组件之间传递信息的渠道.利用Intent做载体,这是一个王道的做法.还有呢,可以利用文件系统来做数据共享.也可以使用Application设置全局数据,利用组件来进行控制 ...
- 【Android开发精要笔记】Android组件模型解析
Android组件模型解析 Android中的Mashup 将应用切分成不同类别的组件,通过统一的定位模型和接口标准将他们整合在一起,来共同完成某项任务.在Android的Mashup模式下,每个组件 ...
- 2015最流行的Android组件、工具、框架大全
Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件. 本文试图将目前流行的组件收集起来以 ...
- Android组件化
附:Android组件化和插件化开发 App组件化与业务拆分那些事 Android项目架构之业务组件化 Android组件化核心之路由实现 Android组件化开发实践
随机推荐
- cena 测评机下载地址
以下是cane的下载地址,现在分享给你们,希望有所帮助 下载地址百度云:https://pan.baidu.com/s/1JBXiVSZy-jhIc0V-F2ESPA 密码:hgtk 点击下载即可. ...
- 简单的C++ DLL注入
今天呢,我们来讨论一下用C++实现DLL注入的简单方法. 环境: Visual Studio 2015及以上 Windows 7及以上 入门需要了解的: DLL是什么:DLL_360百科 DLL是Dy ...
- destoon后台权限-不给客户创始人权限并屏蔽部分功能
1.根目录下后台入口文件admin.php $_founder = $CFG['founderid'] == $_userid ? $_userid : 0; // $CFG['founderid ...
- destoon修改笔记
$EXT = cache_read('module-3.php'); $EXT,存放了module3的设置 后台模型管理,扩展模型 里设置. 1.admin.php 后台管理项目对应文件. ...
- 编译与安装 OpenSSL
编译与安装 OpenSSL prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库.linux版的OpenSSL下载地址为:https:/ ...
- leetcode-11-dfs
DFS算法: explore(G, v) visited(v) = trueprevisit(v) for each edge(v, u) in E: if not visited(u): explo ...
- python数据类型之元组(tuple)
元组是python的基础类型之一,是有序的. 元组是不可变的,一旦创建便不能再修改,所以叫只读列表. name = ('alex', 'jack') name[0] = 'mark' # TypeEr ...
- debian软raid
http://www.linuxidc.com/Linux/2013-06/86487.htm
- SQL_5_子句
接下来讲到的子句有: WHERE STARTING WITH ORDER BY GROUP BY HAVING WHERE: 使用频率仅次于SELECT和FROM STARTING WITH: 附加于 ...
- CodeForces 500E New Year Domino
题意: 从左到右排列着\(n\)个多米诺骨牌,它们分别站在\(x\)轴上的位置\(p_i\)上且高度为\(l_i\). 当第\(i\)个多米诺骨牌向右倒下时,如果\(p_i < p_j \leq ...