为了避免重复的创建Activity,可以通过设置Activity的启动模式来实现。启动模式的设置是在AndroidManifest.xml的activity标签中进行定义的 android:launchMode=“standard”;
启动模式共有以下四种:standard, singleInstance, singleTop, singleTask.
standard:标准模式,为默认缺省的模式,在该模式下每一次发起启动Activity请求时都会启动一个新的实例,将该实例压入栈中。该模式允许存在多个实例。
singleTop:与standard相同也允许同时存在多个实例,但与standard不同的是它不允许同样的两个实例同时存在于栈顶,假设栈顶已经存在一个实例此时请求启动新的实例时,不会启动新的实例,而是调用该实例的onNewIntent方法。
singleTask:最多允许存在一个实例,假设已存在一个实例,如果请求启动新的实例时,系统会判断该实例是否在栈顶,假设在栈顶,会调用该实例的onNewIntent方法,如果不再栈顶,则会将栈顶的Activity弹出,即销毁,使该实例处于栈顶,并调用该实例的onNewIntent方法。
singleInstance:与singleTask相同,最多允许存在一个实例。但与singleTask不同的是该实例运行在独立的task中,而且该task中能存在此实例。
阅读(220) | 评论(0) | 转发(0) |