关于wp的多任务(multitasking)# PDA - 掌中宝
m*t
1 楼
很多拿到wp的用户可能会对它的多任务有所困惑,特别是那些使用过windows mobile或
Android用户。wp和wm底层的OS应当是类似的,就是说它有支持真正的多任务能力。那
为什么microsoft没有用现成的wm的多任务呢? 为回答这个问题, 我们先来看看WP多任
务的一些特征。
当一个app在前台运行时,如果按下windows,back,search, camera或on/off键,这个
app将进入休眠状态。进入休眠状态的app依然驻留在memory里,但得不到cpu资源也就
是说它的运行状态依然保留着。 如果长按住back键, 你将看见所有处于休眠状态的程
序列表。选择其中之一,该程序将再次得到cpu资源,通俗地讲就是被再次激活。如果
是芒果,该程序会在激活时收到一个event. 这个event告诉程序: 你的所有状态都保存
着,你不用重新初始化你的界面和运行状态。正因为如此,专门为芒果开发的程序不需
做任何需要初始化的事就可以立即恢复到进入休眠状态之前的状态。那些不是专门为芒
果设计的应用则需要重新初始化自己,如果初始化需要很多时间,在激活时就会看到一
些时延。
因为memory的限制,WP最多允许五个程序同时处于休眠状态。如果已经有五个程序,在
启动第六个时其中一个将被从休眠状态转换为死亡状态并从内存中去除。
那么,一个进入休眠状态或死亡状态的程序可以做什么呢? 答案是什么也不能做,因为
它得不到cpu资源。那么为什么qq,whatsapp, tango在没有运行或不在前台的时候,为
什么不会丢失信息呢?
虽然wp不给后台或者根本就没有运行的程序分配cpu资源,它却为它们提供如下服务。
Android用户。wp和wm底层的OS应当是类似的,就是说它有支持真正的多任务能力。那
为什么microsoft没有用现成的wm的多任务呢? 为回答这个问题, 我们先来看看WP多任
务的一些特征。
当一个app在前台运行时,如果按下windows,back,search, camera或on/off键,这个
app将进入休眠状态。进入休眠状态的app依然驻留在memory里,但得不到cpu资源也就
是说它的运行状态依然保留着。 如果长按住back键, 你将看见所有处于休眠状态的程
序列表。选择其中之一,该程序将再次得到cpu资源,通俗地讲就是被再次激活。如果
是芒果,该程序会在激活时收到一个event. 这个event告诉程序: 你的所有状态都保存
着,你不用重新初始化你的界面和运行状态。正因为如此,专门为芒果开发的程序不需
做任何需要初始化的事就可以立即恢复到进入休眠状态之前的状态。那些不是专门为芒
果设计的应用则需要重新初始化自己,如果初始化需要很多时间,在激活时就会看到一
些时延。
因为memory的限制,WP最多允许五个程序同时处于休眠状态。如果已经有五个程序,在
启动第六个时其中一个将被从休眠状态转换为死亡状态并从内存中去除。
那么,一个进入休眠状态或死亡状态的程序可以做什么呢? 答案是什么也不能做,因为
它得不到cpu资源。那么为什么qq,whatsapp, tango在没有运行或不在前台的时候,为
什么不会丢失信息呢?
虽然wp不给后台或者根本就没有运行的程序分配cpu资源,它却为它们提供如下服务。