作者issuemylove (skill)
看板AndroidDev
标题[问题] 如何判断是第一个开启的Activity
时间Fri Oct 24 10:09:10 2014
想请问各位大大
我的app在一刚开始要如何判定
从0个 activity 的状态变成 1个Activity
但不等於完整的App被关掉再开启,因为有时候0个activity不代表App不在记忆体中了
另外,由於开启activity不一定是透过 手压App icon出现 (intent action: MAIN)
所以无法从 intent下手
主要是因为我想要一个activity
A在 onCreate作一些事情
但是activity
A 跳到别的activity B 的时候
再按 back 键回来,原先的activity
A就有时候会从 onCreate开始作
(应该是被系统杀掉)
不知有甚麽好方法可以解决呢?
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.3.187
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1414116552.A.A62.html
1F:→ Deltaguita: 如果是程式初始化的动作不希望activity再做一次 10/24 11:18
2F:→ Deltaguita: 你可以考虑把初始化的事情在Application类别实作 10/24 11:19
是想知道0个activity到1个activity的状态
因为 0 activity不代表application已经死了,所以这方法不适合我的情境。 QQ
3F:→ Deltaguita: 或是有一个计数的变数,在每次application onCreate() 10/24 11:22
4F:→ Deltaguita: 设定初始值=0,Activity onCreate()的时候+1 10/24 11:23
5F:→ Deltaguita: 这样你就可以透过这个变数知道是不是第一个activity 10/24 11:24
这样的话会造成每个activity在onCreate +1 onDestroy -1
然後在 onCreate时作判断现在的值
可是这样就变成每个Activity都要作这件事情 冏,这方法可能用继承会好一点
谢谢大大的帮助!
※ 编辑: issuemylove (118.163.3.187), 10/24/2014 12:11:51
6F:→ ckvir: 就建一个class里面有static member用来存变数不就好了 10/24 13:47
7F:→ issuemylove: 问题是这样每写一个activity都要在onCreate onDestro 10/24 18:18
8F:→ issuemylove: y 那边都要写 感觉在专案里面会有很多东西要改 冏 10/24 18:18
9F:→ freesamael: 最好不要有这样的设计,你想这麽做的理由是什麽?能 10/24 20:19
10F:→ freesamael: 不能有其他替代的解决方案? 10/24 20:19
11F:推 tac0wu: 在背景被gc的时候 会call onSaveInstance 来保存state 10/25 14:02
12F:→ tac0wu: 在重新onCreate 时你可以在去 读取之前的state 10/25 14:03
13F:推 studentjason: 不知道写一个继承application的class ,在里面做你 10/25 21:11
14F:→ studentjason: 要做的轴,这样是不是你想要的? 10/25 21:11
15F:→ issuemylove: QQ 其实上面的方法几乎都可行,但如freesa大讲的 10/27 17:25
16F:→ issuemylove: 程式的结构会潜藏危机 10/27 17:25
17F:→ KeySabre: 写一个BaseActivity让专案内所有Activity继承? 10/30 01:01
18F:→ KeySabre: 若是AB执行顺序固定,用forResult应该能保留A? 10/30 01:03