想请问各位大大
我的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开始作
(应该是被系统杀掉)
不知有什么好方法可以解决呢?
谢谢!
如果是程式初始化的动作不希望activity再做一次你可以考虑把初始化的事情在Application类别实作或是有一个计数的变量,在每次application onCreate()设定初始值=0,Activity onCreate()的时候+1这样你就可以透过这个变量知道是不是第一个activity
作者:
ckvir (ckvir)
2014-10-24 13:47:00就建一个class里面有static member用来存变量不就好了
问题是这样每写一个activity都要在onCreate onDestroy 那边都要写 感觉在专案里面会有很多东西要改 冏
最好不要有这样的设计,你想这么做的理由是什么?能不能有其他替代的解决方案?
作者: tac0wu (在BBS中流浪) 2014-10-25 14:02:00
在背景被gc的时候 会call onSaveInstance 来保存state在重新onCreate 时你可以在去 读取之前的state
作者: studentjason (studentjason) 2014-10-25 21:11:00
不知道写一个继承application的class ,在里面做你要做的轴,这样是不是你想要的?
QQ 其实上面的方法几乎都可行,但如freesa大讲的程式的结构会潜藏危机
作者: KeySabre (KeySabreur) 2014-10-30 01:01:00
写一个BaseActivity让专案内所有Activity继承?若是AB执行顺序固定,用forResult应该能保留A?