本例是对两个Activity(A和B)的启动模式做测试,通过修改A或B的启动模式,验证不同启动模式对任务栈的影响!A和B Activity的UI效果一样,都有一个用于显示信息的TextView和两个分别用于跳转到另一个Activity和跳转到本Activity的Button,如图所示:
测试时,修改AndroidManifest文件中的launchMode配置即可:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.anhuioss.launch"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="3" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:launchMode="standard"
android:name=".AActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:launchMode="standard"
android:name=".BActivity" >
</activity>
</application>
</manifest>
测试代码比较简单,就不再次贴出来做说明了,需要的可以从附件中找到!=^_^=
多说一句:在测试的时候,修改A和B的launchMode参数进行测试时,一共有4X4中配置,而且有时相同的配置不同的操作流程,也会看到有趣的结果!
- 大小: 9.8 KB
- 大小: 9.8 KB
分享到:
相关推荐
标准模式是最常见的Activity启动模式,每个启动请求都会创建一个新的Activity实例。如果新的实例被压入到栈顶,那么就会出现多个相同实例的情况。这种模式适用于大多数Activity,因为它们通常不需要特殊的行为管理...
本知识点将深入探讨Activity的四种启动模式:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop),以及如何通过代码验证这些模式。 **1. 标准模式(Standard...
在Android应用开发中,Activity是用户界面的基本单元,而LaunchMode是控制Activity启动行为的关键配置。本主题将深入探讨Android Activity的LaunchMode,以及如何通过分析AndroidManifest.xml和实际编码来验证其工作...
- **测试代码**:使用JUnit或Espresso等测试框架,编写测试用例来模拟不同启动模式下的Activity行为。例如,启动Activity多次,检查栈中Activity实例的数量,验证`onCreate()`, `onStart()`, `onResume()`, `...
这是最常见的Activity启动模式,每次启动时都会创建一个新的实例。如果Task栈中已有该Activity的实例,那么系统会将新的实例压入栈顶,而不是复用旧的实例。这可能导致多个相同Activity实例存在于同一个Task中。 2...
当一个Activity启动另一个Activity并期望得到结果时,可以使用startActivityForResult()方法启动新Activity,并在新Activity中调用setResult()设置返回结果。当新Activity结束时,系统会调用源Activity的...
总结来说,"通过浏览器启动本app的activity"涉及到Android的Intent过滤器、深度链接和可能的App Links验证。通过正确配置和实现,我们可以创建一个流畅的用户体验,让用户从浏览网页无缝过渡到使用我们的应用。这个...
在`LaunchModeTestA`的代码中,我们可以看到开发者如何通过在AndroidManifest.xml中设置Activity的launchMode属性来实现这些不同的启动模式。测试可能包括了对不同启动模式的Activity进行多次启动,观察并记录它们的...
设计模式是软件工程中经过实践验证的解决方案模板,用于解决常见的编程问题。在Android开发中,设计模式的应用不仅可以提高代码的可读性和可维护性,还能提升系统的性能和扩展性。 本书首先介绍了设计模式的基本...
开发者或测试者可以直接启动服务,进行功能验证和测试。 8. **集成与配置**: 集成Activity到SSM框架中需要特定的配置,包括Spring的配置文件(如`spring-context.xml`)中对Activity的bean定义,以及MyBatis的...
通过源代码,你可以看到Activity如何启动、交互以及Intent如何传递信息。 3. **布局与视图控件**:XML文件用于定义应用的用户界面。源代码中会包含各种布局(如线性布局、相对布局)和视图控件(如按钮、文本框)的...
6. 安全的Activity启动模式:源码可能使用安全的Activity启动模式,避免应用被恶意程序滥用。 7. 源码混淆:为了增加逆向工程的难度,源码可能包含了ProGuard或R8混淆工具的配置和使用示例,以保护应用代码不被轻易...
在Android系统中,设计模式无处不在,从Activity的生命周期管理到Intent的处理,从BroadcastReceiver到Service的启动,每一个组件和功能背后都蕴含着设计模式的应用。以下是几个在Android源码中常见的设计模式: 1....
通过分析源码,开发者可以理解Android系统的运行机制,如Activity的生命周期管理、Intent的工作原理、Service的启动过程等。这不仅有助于优化应用性能,也能帮助开发者在遇到问题时更快定位和解决。 在实际案例部分...
6. **数据传递与通信**: `Activity`和`Fragment`之间的数据传递可以通过多种方式实现,如Intent(对于启动`Activity`),Bundle(在`FragmentTransaction`中传递参数),或者使用接口回调。此外,`ViewModel`和`...
Intent用于在Activity之间传递数据和启动新的Activity,例如,从主界面跳转到联系人列表。 2. **SQLite数据库**:Android内置了SQLite数据库,用于存储通讯录数据。每个联系人信息(姓名、电话号码、电子邮件等)会...
在AndroidManifest.xml文件中,为锁屏Activity设置适当的启动模式(如singleTask或singleInstance),以确保它在系统层级运行。此外,为了保证安全性,可能需要声明特定的权限,例如读取和写入系统设置,这可以通过...
本示例代码将全面解析Service的两种启动模式——`startService`和`bindService`,以及进程内如何与服务进行通信。 1. **startService启动模式** 当使用`startService()`方法启动Service时,Service会经历以下生命...