有关S40手机后台的小结

要不是上网时不得不退出软件才能查看短信,我想我也不会走上“后台”这条路。

这个真的很重要吗?

现在总结起来,好像还只有一种情况是不得不后台的。登录谷歌帐号时需要输入短信验证码,可是退出浏览器得到6位数再返回时,手机又会收到新的验证码,这将使得在手机上登录进入一个死循环。

另外还有一个没那么严重的原因。上网时如果临时想到什么事需要记下来,而又不想退出当前运行的软件,那么最终的结果就是,忘记之前想要记下来的事情。

然而现在有了实现的方法,能让事情办得更高效,又何必为了区区的后台运行功能出大血去换智能机呢?很多人用智能机不过就是希望QQ能不碍事地挂着,除此之外,也就剩下打电话和发短信的这两样了,我真为这样一部手机感到心碎。

“后台”副作用

官方一开始就不是这么设计的,本来嘛也就2M内存,所以实现后台之后,或多或少会有些问题。

  • 只要开机就会出现提示:Test in RNDIS USB mode?这个选Yes或者No都没多大关系,不行就重启选另外一个嘛。
  • 完全退出一个软件时,如果还在后台运行着其他程序,则总会提示“warning TCK flag set”。这个实际上是可以无视的,不过我没按其它教程说的去消除它,因为这个提示能从侧面告诉我当前是否还隐藏着程序,没事可以打开计算器后立即退出进行检查。
  • 进入后台运行的程序,或者当前程序突然占用太大内存(比如用浏览器载入数百KB的网页)时,可能白屏,甚至持续数秒后重启。就我的体验来说,只要不特意去挑战极限就没事,毕竟就算是ME525(戴妃)这样的智能机开多了软件也会长时间卡着不动。

一句话总结,能隐藏运行着的程序自然很舒爽,但必须强调,2M的内存终究是“扶不起的阿斗”,不能苛求什么。

“后台”发展现状

当年我也不过是按照几个帖子说的,用ppu文件配合凤凰刷机软件破解了JAVA程序对手机的读写权限,然后修改要实现最小化运行的软件。(详细过程见我编写的这个文档。)

最近遇到了一些小问题,又复习了一下相关知识,没想到又收获不少啊。

1、首先是有人老早就总结出了很多通用的调试命令[1],远不止一个“Nokia-MIDlet-no-exit”。不过我估计也就以下三个比较实用:

  • Nokia-MIDlet-auto-start,代表该程序是否在手机开机时自动启动;
  • Nokia-MIDlet-Close-Gprs-Context,如果设置为true,在所有HTTP连接关闭以后,在10秒以后将关闭GPRS。默认情况下,GPRS将一直打开直到程序退出;(不过我应用于我的自定义版OPM却无效,依旧自动断开连接,中国版则会一直保持连接状态)
  • Nokia-MIDlet-bg-memory-size,代表该程序可以后台运行以及可以分配的内存数量(单位是kb)。(Asha 300自带的qq_CR.jar应用此项则会出现异常

2、其它还有一些很花哨的命令:

  • Nokia – MIDlet – On – Screen – Keypad :no,关闭软键盘[2]
  • Nokia-MIDlet-Original-Display-Size,调整A×B分辨率的游戏输出为C×D分辨率时需要用到;
  • Nokia-MIDlet-Background-Event:pause,在软件隐藏至后台时停止运行。

3、不过最牛B的当属“后台列表管理软件”的横空出世了,s40后台的软肋之一便是无法呼出后台软件列表,如今都已不是问题了……

参考资料

[1]Nokia S40的实用jad属性(翻译)
[2]在S60第五版的MIDlet里使用荧幕键盘–中国移动开发者社区

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注