android LocalActivityManager说明
类概述
Helper class for managing multiple running embedded activities in the same process. This class is not normally used directly, but rather created for you as part of theActivityGroup implementation.
首先说明一下,意思就是说这个类不能单独使用,只能在ActivityGroup里面使用。他的作用是管理多个正在运行的嵌入的activity的界面。。。
关于成员方法的说明:
其实看SDK也就可以知道了。。。
主要的就是派遣方法,让某一个操作可以作用于在这个ActivityGroup里面的Activity
| Window | destroyActivity(String id, boolean finish)
摧毁该ID的activity。。。。并且返回你删除的activity的view。。。Destroy the activity associated with a particular id.
|
| void | dispatchCreate(Bundle state)
Restore a state that was previously returned by
saveInstanceState(). |
| void | dispatchDestroy(boolean finishing)
Called by the container activity in its
onDestroy() so that LocalActivityManager can perform the corresponding action on the activities it holds. |
| void | dispatchPause(boolean finishing)
Called by the container activity in its
onPause() so that LocalActivityManager can perform the corresponding action on the activities it holds. |
| void | dispatchResume()
Called by the container activity in its
onResume() so that LocalActivityManager can perform the corresponding action on the activities it holds. |
| void | dispatchStop()
Called by the container activity in its
onStop() so that LocalActivityManager can perform the corresponding action on the activities it holds. |
| Activity | getActivity(String id)
Return the Activity object associated with a string ID.
|
| Activity | getCurrentActivity()
Retrieve the Activity that is currently running.
|
| String | getCurrentId()
Retrieve the ID of the activity that is currently running.
|
| void | removeAllActivities()
Remove all activities from this LocalActivityManager, performing an
onDestroy() on any that are currently instantiated. |
| Bundle | saveInstanceState()
Retrieve the state of all activities known by the group.
|
| Window | startActivity(String id, Intent intent)
Start a new activity running in the group.
|
下面主要说明一下startActivity(String id, Intent intent)这个方法:
Start a new activity running in the group. Every activity you start must have a unique string ID associated with it -- this is used to keep track of the activity, so that if you later call startActivity() again on it the same activity object will be retained.
When there had previously been an activity started under this id, it may either be destroyed and a new one started, or the current one re-used, based on these conditions, in order:
- If the Intent maps to a different activity component than is currently running, the current activity is finished and a new one started.
- If the current activity uses a non-multiple launch mode (such as singleTop), or the Intent has the
FLAG_ACTIVITY_SINGLE_TOPflag set, then the current activity will remain running and itsActivity.onNewIntent()method called. - If the new Intent is the same (excluding extras) as the previous one, and the new Intent does not have the
FLAG_ACTIVITY_CLEAR_TOPset, then the current activity will remain running as-is. - Otherwise, the current activity will be finished and a new one started.
If the given Intent can not be resolved to an available Activity, this method throws ActivityNotFoundException.
Warning: There is an issue where, if the Intent does not include an explicit component, we can restore the state for a different activity class than was previously running when the state was saved (if the set of available activities changes between those points).
参数
| id | Unique identifier of the activity to be started |
|---|---|
| intent | The Intent describing the activity to be started |
返回值
- Returns the window of the activity. The caller needs to take care of adding this window to a view hierarchy, and likewise dealing with removing the old window if the activity has changed.
简单的翻译一下就是:
新建并且运行一个activity在activitygroup里面,主要的说明就在这个String id里面,说尽量在新建时候不要是用同一个
id,因为这个样子就会到导致如果你使用再一次 startActivity() ,那么就会继续保留下去。。。
当这个activity需要被销毁的时候:
如果有以下的情况就可以不用销毁。其他都需要销毁。。。
1.已经有一个老的intent,而且新的intent没有使用FLAG_ACTIVITY_CLEAR_TOP 这个参数
2.当前的activity使用的是uses a non-multiple launch mode 的话
3.intent还有不从的界面组件。。。
android LocalActivityManager说明的更多相关文章
- Android LocalActivityManager的用法
在开发中会碰到在一个activity中的局部(或者是activity的Fragment中)显示其他的activity 的内容,这时就用到了LocalActivityManager类. 假设这个容器是一 ...
- android 使用Tabhost 发生could not create tab content because could not find view with id 错误
使用Tabhost的时候经常报:could not create tab content because could not find view with id 错误. 总结一下发生错误的原因,一般的 ...
- Android 中常见控件的介绍和使用
1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...
- 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现
项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验.为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目 ...
- Android开发资源推荐第2季
Android CPU监控想法,思路,核心技术和代码 Android App /Task/Stack 总体分析 http://www.eoeandroid.com/thread-161703-1-1. ...
- Android UI学习 - Tab的学习和使用(转)
本文是参考Android官方提供的sample里面的ApiDemos的学习总结. TabActivity 首先Android里面有个名为TabActivity来给我们方便使用.其中有以下可 ...
- 【读书笔记《Android游戏编程之从零开始》】6.Android 游戏开发常用的系统控件(TabHost、ListView)
3.9 TabSpec与TabHost TabHost类官方文档地址:http://developer.android.com/reference/android/widget/TabHost.htm ...
- Android源码剖析之Framework层实战版(Ams管理Activity启动)
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 讲到实战,就不得不拿两个例子来说明,本篇想拿的是应用最广泛的两个:Ams和Wms,一个管理activ ...
- Android应用插件式开发解决方法
转自:http://blog.csdn.net/arui319/article/details/8109650 一.现实需求描述 一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来 ...
随机推荐
- Hadoop管理员的十个最佳实践
前言 接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇 ...
- nginx添加nginx_mod_h264_streaming-2.2.7模块编译报错
报错ngx_http_streaming_module.c:158: 错误:‘ngx_http_request_t’ 没有名为 ‘zero_in_uri’ 的成员.这需要修改nginx_mod_h26 ...
- sql语句中能有中文 空格
EXEC dbo.usp_execute_sql_Prod 'SELECT * FROM dbo.QuanVerify_Log where ticketcode = ''3783665132'' ' ...
- NDK(0)简介
AndroidNDK Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”. 众所周知,Android程序运行 ...
- PhpStorm+PhpStudy+xdebug 配置图解
1.配置niginx.ini,新增 server节点,比如使用9200 端口 server { listen 9200;#本地调试,不用80端口 server_name localhost; #cha ...
- UC编程之网络通信(TCP/UDP)
网络常识 OSI 7层模型(人机交互) 物理层.数据链路层.网络层.传输层.会话层.表现层.应用层 常见协议: tcp/udp/ip/ftp/http... IP地址--就是计算机在网络中的地址,是一 ...
- vmware装redhat该光盘无法被挂载
为了考网工,没办法只能学学linux了,前天在vmware7装redhat 提示该光盘无法被挂载,还以为是光盘错误,换了N个盘,又装了很多次,最后观察到,换了盘之后点确定,里面就提示该光盘无法被挂载, ...
- splay入门
在比较了网上的几份模板的速度之后,发现指针版明显快了很多,但是一敲起来....各种不习惯...所以还是学的hzwer 的数组版... bzoj3223:维护reverse操作就可以了 #include ...
- HDU 5339 Untitled (暴力枚举)
题意:给定一个序列,要求从这个序列中挑出k个数字,使得n%a1%a2%a3....=0(顺序随你意).求k的最小值. 思路:排个序,从大的数开始模起,这是因为小的模完还能模大的么? 每个元素可以选,也 ...
- NBUT 1122 Shameimaru's Candid Camera(水)
题意: 给n*m个格子,初始时每个格子中有个数值为0,部分格子中含有炸弹,每个炸弹爆炸可以将周围的8个非炸弹格子中的数值加1,求全部炸弹炸完后那些非0且非炸弹格子中的数是多少. 思路: 另开一个矩阵, ...