你直接back就行了,为啥要创建一个A呢

解决方案 »

  1.   

    那如果时 A -> B -> C -> D -> A 呢 
    其实就类似淘宝顶部回首页的效果。
      

  2.   


     那如果时 A -> B -> C -> D -> A 呢 
    其实就类似淘宝顶部回首页的效果。 
      

  3.   


     那如果时 A -> B -> C -> D -> A 呢 
    其实就类似淘宝顶部回首页的效果。 
    如果这样的话就别用Activity了,可以用Fragment,这样的话会比较好点的
    .
      

  4.   

    支持楼上,按你说的,用fragment比较简便。
      

  5.   


     那如果时 A -> B -> C -> D -> A 呢 
    其实就类似淘宝顶部回首页的效果。 
    如果这样的话就别用Activity了,可以用Fragment,这样的话会比较好点的
    .Fragment 虽然可以做  但在企业开发中 这样不太方便, 一个项目几十个页面。一般还是传统activity跳转。
    真搞不懂淘宝京东怎么实现了, 
    反编译了一下, 淘宝用的也仅仅时 singleTop 单却做到了。
      

  6.   


    做主页菜单什么的 , 确实都是fragment,
    但是如果每个页面都有返回主页 按钮  , 那就得整个应用所有页面都用fragment。另外fragment 有另一个问题
    不知道时我做法错误还是本身就这样比如主页MainActivity   有个菜单 用fragment 做页面。 比如4个标签页
    这时为4个标签页的activity 做多进程处理是无效的,进程始终处在 MainActivity 所在的进程。所以如果整个项目都fragment  一是好像另类了点, 二是资源没有独立activity 那么好控制。
      

  7.   


    做主页菜单什么的 , 确实都是fragment,
    但是如果每个页面都有返回主页 按钮  , 那就得整个应用所有页面都用fragment。另外fragment 有另一个问题
    不知道时我做法错误还是本身就这样比如主页MainActivity   有个菜单 用fragment 做页面。 比如4个标签页
    这时为4个标签页的activity 做多进程处理是无效的,进程始终处在 MainActivity 所在的进程。所以如果整个项目都fragment  一是好像另类了点, 二是资源没有独立activity 那么好控制。
    如果页面很多的确不适合用太多fragment。
    你说的4个标签页,如果用fragment,怎么会是你所说的‘4个标签页的activity’做‘多进程’处理?没明白你表达的。
      

  8.   


    做主页菜单什么的 , 确实都是fragment,
    但是如果每个页面都有返回主页 按钮  , 那就得整个应用所有页面都用fragment。另外fragment 有另一个问题
    不知道时我做法错误还是本身就这样比如主页MainActivity   有个菜单 用fragment 做页面。 比如4个标签页
    这时为4个标签页的activity 做多进程处理是无效的,进程始终处在 MainActivity 所在的进程。所以如果整个项目都fragment  一是好像另类了点, 二是资源没有独立activity 那么好控制。
    如果页面很多的确不适合用太多fragment。
    你说的4个标签页,如果用fragment,怎么会是你所说的‘4个标签页的activity’做‘多进程’处理?没明白你表达的。
    总之正如你所说,页面实在太多了。场景就是每个页面都有返回首页activity的入口,并且页面层级可能很深。
    引发的问题:
    1. 如何回到第一个activity后不重新oncreate.
    2. 如果使用singleInstance 或 singleTask来解决 如何解决引发的另一个问题,Home键缩小应用再点击图标保留在之前的activity.
    3.比如 A->B->C->D->A     D activity回到 A activity 后 如何方便的吧  B C 一期finish掉 (这个问题倒不是关键,解决以上问题,这个问题总有办法解决 , 哪怕发广播去finish)。
      

  9.   

    1.我想到的就是使用singleInstance 或 singleTask来解决。
    2.Home键缩小应用再点击图标保留在之前的activity,你是不想要这种效果?
      

  10.   


    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
      

  11.   


    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
    第2个问题,我现在做一个项目,用的是singleTop,当切换到后台后,点击图标,还是切换之前的页面。
      

  12.   

    问题1,使用singleTop应该也是可以的。
    问题3,解决方法很多了,比如,把activity全在一个list中,关闭时遍历finish。
      

  13.   


    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
    第2个问题,我现在做一个项目,用的是singleTop,当切换到后台后,点击图标,还是切换之前的页面。singleTop 和 standard home以后图标会留在之前activity , singleInstance和singleTask Home以后图标会 回到第一个activity。
    你说的没错。
    但我singleTop 进入几个activity 在直接跳回主页  , 主页就 onCreate 了。 当然主页可以做缓存, 重新onCreate后读缓存 在广播或别的形式 finish之前就主页。   但我想这不是最佳方案。 最好能直接跳回之前的主页activity , 淘宝看似做到了 , 头痛啊~。
      

  14.   


    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
    第2个问题,我现在做一个项目,用的是singleTop,当切换到后台后,点击图标,还是切换之前的页面。singleTop 和 standard home以后图标会留在之前activity , singleInstance和singleTask Home以后图标会 回到第一个activity。
    你说的没错。
    但我singleTop 进入几个activity 在直接跳回主页  , 主页就 onCreate 了。 当然主页可以做缓存, 重新onCreate后读缓存 在广播或别的形式 finish之前就主页。   但我想这不是最佳方案。 最好能直接跳回之前的主页activity , 淘宝看似做到了 , 头痛啊~。
    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
    第2个问题,我现在做一个项目,用的是singleTop,当切换到后台后,点击图标,还是切换之前的页面。singleTop 和 standard home以后图标会留在之前activity , singleInstance和singleTask Home以后图标会 回到第一个activity。
    你说的没错。
    但我singleTop 进入几个activity 在直接跳回主页  , 主页就 onCreate 了。 当然主页可以做缓存, 重新onCreate后读缓存 在广播或别的形式 finish之前就主页。   但我想这不是最佳方案。 最好能直接跳回之前的主页activity , 淘宝看似做到了 , 头痛啊~。淘宝,看起来好像用的是缓存。。
    这样,主页设置为singleTask,会产生什么问题?当在主页时,按home,再点击应用图标,会重新创建
      

  15.   


    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
    第2个问题,我现在做一个项目,用的是singleTop,当切换到后台后,点击图标,还是切换之前的页面。singleTop 和 standard home以后图标会留在之前activity , singleInstance和singleTask Home以后图标会 回到第一个activity。
    你说的没错。
    但我singleTop 进入几个activity 在直接跳回主页  , 主页就 onCreate 了。 当然主页可以做缓存, 重新onCreate后读缓存 在广播或别的形式 finish之前就主页。   但我想这不是最佳方案。 最好能直接跳回之前的主页activity , 淘宝看似做到了 , 头痛啊~。
    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
    第2个问题,我现在做一个项目,用的是singleTop,当切换到后台后,点击图标,还是切换之前的页面。singleTop 和 standard home以后图标会留在之前activity , singleInstance和singleTask Home以后图标会 回到第一个activity。
    你说的没错。
    但我singleTop 进入几个activity 在直接跳回主页  , 主页就 onCreate 了。 当然主页可以做缓存, 重新onCreate后读缓存 在广播或别的形式 finish之前就主页。   但我想这不是最佳方案。 最好能直接跳回之前的主页activity , 淘宝看似做到了 , 头痛啊~。淘宝,看起来好像用的是缓存。。
    这样,主页设置为singleTask,会产生什么问题?当在主页时,按home,再点击应用图标,会重新创建哦噢~, 我验证了一下 , 好像淘宝还真实也重新创建了,  只是他们主页记录了滚动的位置, 然后回到首页自动滚动到之前的位置, 看起来没创建 , 
    但是这时切换别的标签页, 发现都是要重新loading的, 那应该是重新创建了 , 否则不许要重新loading。看来此题无解,  只能乖乖走缓存了。   谢谢回复啊。
      

  16.   


    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
    第2个问题,我现在做一个项目,用的是singleTop,当切换到后台后,点击图标,还是切换之前的页面。singleTop 和 standard home以后图标会留在之前activity , singleInstance和singleTask Home以后图标会 回到第一个activity。
    你说的没错。
    但我singleTop 进入几个activity 在直接跳回主页  , 主页就 onCreate 了。 当然主页可以做缓存, 重新onCreate后读缓存 在广播或别的形式 finish之前就主页。   但我想这不是最佳方案。 最好能直接跳回之前的主页activity , 淘宝看似做到了 , 头痛啊~。
    1 singleInstance 和 singleTask 确实可以解决,
    2 正如你所说,保留最上 也就时Home前的那个activity , 网上找到的解决方法,都是说去掉singleInstance 和 singleTask,我蛋碎一地。
    第2个问题,我现在做一个项目,用的是singleTop,当切换到后台后,点击图标,还是切换之前的页面。singleTop 和 standard home以后图标会留在之前activity , singleInstance和singleTask Home以后图标会 回到第一个activity。
    你说的没错。
    但我singleTop 进入几个activity 在直接跳回主页  , 主页就 onCreate 了。 当然主页可以做缓存, 重新onCreate后读缓存 在广播或别的形式 finish之前就主页。   但我想这不是最佳方案。 最好能直接跳回之前的主页activity , 淘宝看似做到了 , 头痛啊~。淘宝,看起来好像用的是缓存。。
    这样,主页设置为singleTask,会产生什么问题?当在主页时,按home,再点击应用图标,会重新创建哦噢~, 我验证了一下 , 好像淘宝还真实也重新创建了,  只是他们主页记录了滚动的位置, 然后回到首页自动滚动到之前的位置, 看起来没创建 , 
    但是这时切换别的标签页, 发现都是要重新loading的, 那应该是重新创建了 , 否则不许要重新loading。看来此题无解,  只能乖乖走缓存了。   谢谢回复啊。也算是有个结果了。
      

  17.   

    把你们的全看了下,我提一下我的意见。
    因为google官方推荐使用fragment,所以好多应用都从Activity拆换成fragment了。经历了N多的弯路之后,我发现fragment其实是比较占内存的,activity会有自动回收内存的机制,android没有对fragment内存进行回收的机制,我们可以手动将fragment销毁,其实并没有将他的内存释放,只有fragment所依赖的activity销毁了,它才会释放内存。
    所以好多应用都是fragment和activity交互使用的。(前提)
    问题:
    1.你的首A页可以用activity做,里面有几个选项卡,就嵌套几个fragment,这是最下面的层级(fragment的切换速度比较快,用户体验比较好)Fragment 都是在show之前拿数据的,而activity都是在show出来再拿数据的(大部分)
    2.如果你的界面B,如果数据承载量比较大,界面比较复杂,各种乱七八糟的东西都有的话,就在做成activity,在里面拿数据
    3.这样的话,你在首页A里面的任何fragment点击进入界面B,在界面B按返回按钮(finish B),都可以显示界面A,
    4.至于消息的传递机制,有好多种解决方法(handle,otto...)
    5.这样的话,你不管在界面A,还在是界面B,(甚至B里面还有界面C),按home键后,在点击应用图标,都是你退出之前的界面观察了下手机淘宝,也是这样的。首页Activity A,嵌套了5个fragment(a1, a2, a3, a4, a5),在a2里面点击一个店铺,打开Activity B,再在B里面点击一条信息,打开Activity C(或者Fragment C 由你看界面内容决定),不管你在哪个界面按home键,在点击应用图标,进入的还是之前的那个界面(至于是否要刷新数据,由你自己决定)。再者它的返回键和上面的返回键头,都是回到上个界面,(至于是否销毁本次界面,自己斟酌),它会有一个回到首页的东西,你点击之后,回到首页(就是你显示A,并且让a1显示而已)(个人意见而已,还是新手,在摸索阶段而已)
      

  18.   

    能否使用onSaveInstanceState()方法?或者重写activity父类的onpause和onstop,保存数据。不知道我没有理解错lz的意思,我是初学者一个。