本文是一篇技术文章,同时本文涉及到的问题说起来也许是BlackBerry操作系统的一个比较严重的bug.
表现
今天深圳富士康的某位朋友问我,为什么他自己编写的程序部署到BlackBerry上会令BlackBerry机器自动重启,而在模拟器上正常呢呢?就连一个简单的HelloWorld也会如此.
我的想法
对于这个问题,肯定是比较讨厌的,会令每个人都抓狂,如果我遇见这个问题,相信我也会郁闷很久的.既然一个hello world的程序都出现这个问题,这不能不说明一些问题.
当时这位朋友问我有没有时间解决,呵呵,因为最近一段时间太忙,也就没有时间深究.作为关心BlackBerry的我,任何问题我是不会放过的.
据我的分析和了解,我认为这是Blackberry的设计不完善性导致的,虽然不影响大局,但是足可以算成一个bug了.从我下面的解决方案中你就可以看到.
解决方案
这里提供的解决方案不一定凑效,但是基本上能解决大部分问题,毕竟还是有很多意外呀.
A方案 调试
将你的设备和你的IDE连接,然后调试,看看哪一个方法调用或者方法出现异常.关于如何调试,参看我的另外一片文章BlackBerry 应用程序开发者指南 第一卷:基础–第2章 编写BlackBerry Java应用程序 ,你也许会找到该原因.
B方案 软件不兼容
BlackBerry OS和其JDE经历了各种版本,所以,很可能存在版本不兼容的问题.所以换成合适的OS版本以及JDE.
对于A方案,一般来说,对于开发者有些困难,因为绝大部分的人都是直接在模拟器上调试的.在真实的设备上调试,估计不多.
对于B方案,我对此深感痛苦,因为曾经我也因为版本问题,费尽周折.在此对BlackBerry OS和JDE的开发人员们表示鼓励,希望他们在兼容性方面做的更好.