安卓采用什么方式来管理activity的实例

安卓采用什么方式来管理activity的实例,第1张

Android采用任务线(Task)的方式来管理Activity的实例。

在开发Android应用时,经常会涉及一些消耗大量系统内存的情况,例如视频播放、大量图片或者程序中开启多个Activity没有及时关闭等,会导致程序出现错误。为了避免这种问题,Google提供了一套完整的机制让开发人员控制 Android中的任务线。

Android系统中的任务线,类似于一个容器,用于管理所有的Activity实例。在存放Activity时,满足“先进后出 (First-In/Last-Out )"的原则。

但是使用任务线有以下缺点:

每开启一次页面都会在任务栈中添加一个Activity,而只有任务栈中的Activity全部清除出线时,任务线被销毁,程序才会退出。这样就造成了用户体验差, 需要点击多次返回才可以把程序退出。

每开启一次页面都会在任务栈中添加一个Activity还会造成数据冗余, 重复数据太多, 会导致内存溢出的问题(OOM)。为了解决任务栈产生的问题,Android为Activity设计了启动模式

在实际开发中,应根据特定的需求为每个Activity指定恰当的启动模式。Activity的启动模式有4种,分别是standard、singleTop、singleTask和singlelnstance。在AndroidManifest.xml中,通过<activity>标签的android:launchMode属性可以设置启动模式。

android新创建Activity是需要在Manifest文件中进行注册的。

注册步骤如下:

一、新建一个类(*.class),继承自android.app.Activity类。

二、在res/layout目录下新建一个布局xml文件,文件名随意(只能包含小写字母数字或下划线),用来设置新Activity的布局(对于如何设置Activity的布局,可参考本站相关内容)。

三、打开AndroidManifest.xml文件,在里面进行一下新Activity的注册。

方法是双击AndroidManifest.xml这个文件,在eclipse的编辑区下面会出现这样的选项:

选择Application这个选项,将编辑区的滚动条拖到最下面,找到:

当前里面有的Activity是主Activity,我们点add按钮,选择Activity,这时你会发现上面的Application Nodes中多了一个Activity,点一下左面的新的Activity,确保它被选中,之后点击在右侧的Attributes for Activity中的Name项,在d出的对话框中输入新Activity的名字(就是你第一步新建的类的类名),输入名字时它有自动查找功能,之后点击保存,新的Activity就被注册了,我们也可以从AndroidManifest.xml的代码中看到新注册的Activity(当然你也可以直接加代码)。

之后去你第一步建的那个类中为新Activity添加OnCreate方法,在类中加上:

这样一个Activity就被创建好了。

Manifest是什么?

manifest是一种软件,属于AndroidManifest.xml文件,在简单的Android系统的应用中提出了重要的信息,它可以运行任何应用程序的代码。

只要是新建的Activity都需要注册

如果只是简单注册,这样就行了

<activity android:name=".MainActivity"></activity>记得一定要加那个“.”

如果你要让你新注册的Activity是运行后第一个出现的页面,就需要这样

<activity android:name=".MainActivity"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7922329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存