80,348
社区成员
发帖
与我相关
我的任务
分享
一个Activity示例的引用:
@Override
protected void onCreate(Bundle state) {
super.onCreate(state);
TextView label = new TextView(this);
label.setText("Leaks are bad");
setContentView(label);
}
这就意味着view保存了一个它所处的activity的引用(可以推想的是, activity所保有的其他对象也是如此——包括这个activity所拥有的View整体层级以及相关资源)。从此看来,如果一个activity类型的Context在内存中被泄露了的话,被涉及到的内存量是相当可观以及可怖的。但是可怕的是,如果不注意的话,泄露一整个activity是非常容易发生的。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nieweilin/archive/2011/02/12/6180992.aspx
android:allowTaskReparenting
是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。
---------------------------------------------------------------
android:alwaysRetainTaskState
是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后的状态
---------------------------------------------------------------
android:clearTaskOnLanunch
比如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home, 从新启动 P, 是否显示 Q
---------------------------------------------------------------
android:configChanges
当配置list发生修改时, 是否调用 onConfigurationChanged() 方法 比如 "locale|navigation|orientation".
---------------------------------------------------------------
android:enabled
activity 是否可以被实例化,
---------------------------------------------------------------
android:excludeFromRecents
是否可被显示在最近打开的activity列表里
---------------------------------------------------------------
android:exported
是否允许activity被其它程序调用
---------------------------------------------------------------
android:finishOnTaskLaunch
是否关闭已打开的activity当用户重新启动这个任务的时候
---------------------------------------------------------------
android.icon
---------------------------------------------------------------
android:label
---------------------------------------------------------------
android:launchMode
activity启动方式, "standard" "singleTop" "singleTask" "singleInstance" 其中前两个为一组, 后两个为一组
---------------------------------------------------------------
android:multiprocess
允许多进程
---------------------------------------------------------------
android:name
activity的类名, 必须指定
---------------------------------------------------------------
android:onHistory
是否需要移除这个activity当用户切换到其他屏幕时。 这个属性是 API level 3 中引入的
---------------------------------------------------------------
android:permission
---------------------------------------------------------------
android:process
一个activity运行时所在的进程名,所有程序组件运行在应用程序默认的进程中,这个进程名跟应用程序的包名一 致。<application>中的元素process属性能够为所有组件设定一个新的默认值。但是任何组件都可以覆盖这个默认值,允许你将 你的程序放在多进程中运行。 如果这个属性被分配的名字以:开头,当这个activity运行时, 一个新的专属于这个程序的进程将会被创建。 如果这个进程名以小写字母开头,这个activity将会运行在全局的进程中,被它的许可所提供。
---------------------------------------------------------------
android:screenOrientation
activity显示的模式, "unspecified" 默认值 "landscape" 风景画模式,宽度比高度大一些 "portrait" 肖像模式, 高度比宽度大。 "user" 用户的设置 "behind" "sensor" "nosensor"
---------------------------------------------------------------
android:stateNotNeeded
是否 activity被销毁和成功重启并不保存状态
---------------------------------------------------------------
android:taskAffinity
activity的亲属关系, 默认情况同一个应用程序下的activity有相同的关系
---------------------------------------------------------------
android:theme
activity的样式主题, 如果没有设置,则activity的主题样式从属于应用程序, 参见<application>元素的theme属性
---------------------------------------------------------------
android:windowSoftInputMode
activity主窗口与软键盘的交互模式, 自从API level 3 被引入
有时候我们有三个活动 abc,如果我们希望只有ac 那么在b中startActivity().之后直接用finish。有时候我们希望abc之后只有bc之间的返回这时候可以考虑
Intent.FLAG_ACTIVITY_NO_HISTORY.将a设置成这个 不让他在堆栈中。
对于堆栈的顺序问题
http://developer.android.com/intl/zh-CN/reference/android/content/Intent.html