java-如何有效地管理应用中的多个activity

问题描述

如何有效地管理应用中的多个activity

项目中经常用到点击一个按钮,然后退出整个应用的功能;又或者获取task中顶层activity是谁的功能;又或者关闭某个知道名字的activity的功能;
目前我是使用在application中建立一个ArrayList的的成员变量,把打开过的activity放进list中,然后再根据实际操作得到或关闭activity。
我知道这是个比较笨的方法,后来我改为使用广播去实现关闭多个activity的方法。
我想问 除此之外,还有没有其他方法可以管理多个activity的,例如有没有方法可以得到task里面有多少个activity,这些activity是如何排列的。

ps:
有个java的小问题搞得不是很清楚,如下
String str1 = "11";
String str2= "22";
ArrayList list = new ArrayList();
list.add(str1);
list.add(str2);
添加对象后,arraylist占用的内存是不是必定比str1的内存加上str2的内存大(占用两个堆的内存)?
还是arraylist只需保存两个栈引用(也就是占用两个栈左右的内存),这两个栈再各自指向堆?

不知道自己有没有说清楚 ,求大神回复!谢谢

解决方案

个人感觉。。。。目前第一种还时最适合的。。。。好管理。

时间: 2024-09-29 16:03:21

java-如何有效地管理应用中的多个activity的相关文章

浅谈如何有效的管理与维护校园网

随着网络技术的迅速发展,合理.有效的网络管理也成了网络管理工作的重中之重.本文从不同角度 介绍了网络管理和维护的方法.校园网管理的主要目的是保障网络运行的品质,如维持网络传送速率.降 低传送错误率.确保网络安全等.所以校园网系统管理的技术人员可借网络管理工具或本身的技术经验实 施网络管理. 1 如何有效地管理校园网 1.1校园网的管理 校园网的管理包括以下的几个方面: 系统管理:随时掌握网络内任何设备的增减与变动,管理所有网络设备的设置参数.当故障发生时, 管理人员得以重设或改变网络设备的参数,

深入浅出谈垃圾的回收—Java堆的管理

Java的堆是一个运行时数据区,类的实例(对象)从中分配空间.Java虚拟机(Jvm)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new.newarray.anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式的释放.一般来说,堆是由垃圾回收来负责的,尽管Jvm规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,Jvm在实现的时候都有一个由垃圾回收所管理的堆.垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的

Java技术在多数据库系统中的应用研究

引言 现在的各种数据库应用,由于技术.历史等因素,往往在一个大的部门中并存有多个应用系统.这些应用系统可能分散于不同的网络节点.基于不同的操作平台.使用不同的数据库管理系统,且各子系统封闭运行,自成一体,这样给不同部门的信息资源共享带来困难.如何在不改变原来系统的内部信息的前提下,完成不同数据库系统间的数据访问和交换是值得研究的问题. 多数据库系统的Java解决方案 多数据库系统的构成有多种方式,在这些方式中,我们考察这些多数据库的不同点,其主要表现在以下几个方面的异构: (1)数据库逻辑数据模

深入浅出Java堆的管理

引言 java的堆是一个运行时数据区,类的实例(对象)从中分配空间.java虚拟机(jvm)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new.newarray.anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放.一般来说,堆的是由垃圾回收来负责的,尽管jvm规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,jvm在实现的时候都有一个由垃圾回收所管理的堆.垃圾回收是一种动态存储管理技术,它自动地释放不再被程

Java线程池管理及分布式Hadoop调度框架搭建

多线程是程序员面试时常常会面对的问题,对多线程概念的掌握和理解水平,也常常被用来衡量一个人的编程实力.不错,普通的多线程已经不容易了,那么当多线程碰到"大象"又会产生什么样的火花?这里我们为大家分享上海创行科技技术总监严澜的博文--Java线程池管理及分布式Hadoop调度框架搭建. 平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头.怎么做一套简便的线程开发模式框架

如何在Java程序和.net程序中连接Informix HDR服务器

Informix 提供了多种高可用性集群技术,其中 HDR 技术是一种方便.高效.应用广泛的容灾恢复技术,已经广泛应用于电信.银行.保险等行业.在数据库端,Informix 采用了许多内部机制以保证数据的高可用性,而在应用客户端建立与 HDR 的连接从而利用 HDR 的这一特性也是非常重要的.本文介绍在 Java 程序和 .net 程序中连接 HDR 服务器的方法,包括使用 CM 和不使用 CM 的情况. HDR 简介 HDR(High available Data Replication) 是

java Swing布局管理之BoxLayout布局_java

本文为大家解析java Swing布局管理中的BoxLayout布局,供大家参考,具体内容如下 BoxLayout:可以指定在容器中是否对控件进行水平或者垂直放置,比 FlowLayout 要更为灵活 BoxLayout与其他布局管理器稍有不同,必须向其构造函数中传递容器实例的引用,由该容器使用BoxLayout.另外必须指定BoxLayout中组件的布局方式:垂直排列(按列)或水平排列(按行).用水平组件和垂直组件的不同组合嵌套多面板的作用类似于 GridBagLayout,但没那么复杂.1.

Java自动内存管理详解

最近找了两本Java虚拟机方面的书,看了看其中对于Java自动内存管理的章节,写的都大同小异,在此总结一下,主要是三个方面:内存划分.内存分配.内存回收. 内存划分(运行时数据区) JVM运行时数据区 从线程的角度来分,可分为线程私有和线程共享的,上图中左边的灰色区域就是线程共享的区域,包括堆.方法区.运行时常量池.而右边的区域则是线程私有的,包括程序计数器.虚拟机栈. 堆 堆是虚拟机管理的内存中最大的一块,是被线程共享的一块区域,主要用于存放对象实例,但并不是所有对象都是在堆上分配的.同时堆也

统一管理项目中的接口回调

0.写在前面 无论是 Java Web 开发还是 Android 开发我们都避免不了异步处理业务的逻辑.有异步的出现一定就有异步结果(接口)的回调.你之前是不是有为每一个异步业务都单独写一个接口呢?如果没有单独写,可以忽略此篇文档.(你已经是大佬了) 项目(业务)大(复杂)了是不是觉得接口太多难以管理呢?本篇文章就是为了解决此问题. 1.封装全局的回调接口 涉及到的姿势 1.泛型灵活使用 2.线程安全的单例模式 3.WeakHashMap 弱键值对引用缓存回调接口 /** * 异步回调(结果)接