Total Pageviews

Sunday, 1 September 2013

关于iPhone程序后台和手势的一点心得

    众所周知,iOS 4提供的后台功能只是伪后台,提供支持的只有四种情况:
后台音乐播放
GPS定位
网络语音通话
任务完成
    也就是说仅仅只有这四项工作可以真正的后台运行。后台音乐播放比如iPod程序后台播放音乐;GPS定位比如Google latitude后台定位更新位置记录;网络语音通话比如Skype的后台,后台之后依然可以正常接听电话;所谓任务完成是指在程序退出的时候还有工作没 处理完,比如保存进度存档,那么系统允许程序在后台继续工作,然后在完成保存进度之后停止运行。
    除此之外的程序都是不能后台工作的,比如被国内用户诟病的QQ,后台之后就直接掉线了。iOS系统对于这类不是真正后台的程序提供的后台只能算一个程序快 速切换的功能,这个功能也算是IOS4多任务的一部分。它让程序在最小化的时候仅仅是暂停运行,但并不释放内存,保持程序当前的状态,这样当你再次打开这 个程序的时候,程序不需要重新从硬盘(闪存)中读出,不需要重新Load数据,而是瞬间恢复到上次退出程序时的状态,这个特性会给用户很强的多任务的感 觉,仿佛程序从来没有退出过一样。但是这并非真正的后台,程序是暂停的,并不工作的,所以后台之后的QQ就掉线了。
    越狱之后的iPhone带来了更多的可能性,有很多软件可以让iOS的程序实现真正的后台,比如大名鼎鼎的Backgrounder。安装 Backgrounder之后,程序有两种后台模式,一种是iOS的原生模式,一种是真正的后台模式,这种模式下程序后台和前台一样是正常工作的。
    一般情况下推荐的设置所有的程序都使用iOS原生的后台功能(Native),然后把需要后台的程序加入到Backgrounder的Overrides列表里面,必须QQ、飞信、阿里旺旺、Installous等如图。


但是我并不喜欢这种设置方法,这样设置有两个弊端:
首先,我并非所有时候都需要这些程序后台,比如我运行QQ之后,想退出QQ,不再登陆了,按下Home键之后QQ不会退出,而是后台在运行。
其次,我需要在一开始安装Backgrounder的时候就设置好哪些程序需要后台,有时候漏掉就要再次添加。
    这里我推荐我自己使用的一种设置方法。首先,所有的程序都使用iOS原生的后台功能(Native),Overrides列表也为空,然后是用手势软件来 实现原生后台和真正后台。使用大名鼎鼎的国内软件Quickdo,Quickdo的手势可以实现的一个功能是:“启用后台运行(需安装 Backgrounder)”。
我这样来设置,在程序界面,向右短距离滑动触发条的时候模拟系统按钮“单击Home键”,向左短距离滑动触发条的时候“启用后台运行(需安装 Backgrounder)”,这样我再用QQ的时候如果真的想退出了,就向右短距离滑动触发条,如果是想后台运行QQ,再去搞点别的,就向左短距离滑动 触发条。希望能对您能有点启发。
PS:其实我很少在手机上登陆QQ,主要觉得太装13,只是觉得QQ这个例子比较通俗易懂。