在每个Activity的开始和结束时分别调用onResume和onPause方法.
当一个onResume方法与上一个Activity的onPause方法相差30秒,标志新session的开始;当一个onPause方法发生后30秒内没有再触发任何一个Activity的onResume方法,标志该session结束。
如果应用Crash, Android平台处理成onPause, 照例通过30秒规则来判断是否是session的终止.
即Android平台一次完整的启动包括如下三种情况:
1.从启动应用到关闭应用
2.从启动应用到应用退至后台,且在后台运行时间超过30s
3.启动应用后设备黑屏,黑屏时间超过30s
符合以上三种情况的前提下,Android启动次数+1.
-
iOS平台:
通过监听“UIApplicationDidBecomeActiveNotification”消息来确定session开始;监听“UIApplicationWillResignActiveNotification”来判定session结束
如果应用crash,iOS平台通过监听“UIApplicationWillTerminateNotification”消息来获取appcrash信息, 当app crash时,相当于结束该session
即iOS平台一次完整的启动包括:
1.从启动应用到关闭应用
2.从启动应用到应用退至后台,此种情况iOS与Android不同,iOS只要退至后台就算本次启动的结束
复合以上两种情况的前提下,iOS启动次数+1.
转自:http://bbs.umeng.com/thread-5674-1-5.html