有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java存在应用程序最大代码数的问题

我在构建BlackBerry Java应用程序时遇到了一些问题(由4个模块组成)

这一切都始于我试图将一个14MB的文件捆绑到我的一个模块上。编译器无法生成我的应用程序,抛出了一个异常Fatal Internal error: java.lang.NullPointerException——这不是编译时错误,而是编译器本身的运行时错误。 我试图研究这个问题,发现了来自RIM的以下知识库文章:

http://supportforums.blackberry.com/t5/Testing-and-Deployment/The-maximum-size-of-a-BlackBerry-smartphone-application/ta-p/502534

这篇文章说,我的应用程序的最大大小不能超过14000KB,而且单个应用程序中可以存在的同级COD文件的数量限制为127。该声明的第二部分令人困惑,因为不清楚它是否指的是整个应用程序中单个模块的最大COD文件数,也就是说,这是否意味着我的应用程序中每个模块的COD文件数不能超过127个(所以总共是4*127个),或者我的应用程序中所有代码的总数(对于所有4个模块)不应超过127

无论如何,我已经将14MB文件的大小减少到了5.5MB,现在我能够构建应用程序,但仍然无法运行它

我进一步实验的结果让我更加困惑——以下是:

+-----------+------------+---------------------+----------------------------------------------+
| File Size | Total CODs | Largest Module CODs | Result                                       |
+-----------+------------+---------------------+----------------------------------------------+
| 4000KB    | 123        | 88                  | OK                                           |
|           |            |                     |                                              |
| 4400KB    | 130        | 95                  | OK                                           |
|           |            |                     |                                              |
| 5500KB    | 153        | 118                 | 6.0/7.0 – Class                              |
|           |            |                     | ‘net.rim.device.api.crypto.SHA1Digest’       |
|           |            |                     | not found                                    |
|           |            |                     | 5.0 – Class                                  |
|           |            |                     | ‘javax.wireless.messaging.MessageConnection’ |
|           |            |                     | not found                                    |
|           |            |                     |                                              |
| 6000KB    | 163        | 128                 | Javaloader Error loading Module:   |
|           |            |                     | The specified module was rejected by the     |
|           |            |                     | device and cannot be loaded                  |
+-----------+------------+---------------------+----------------------------------------------+

*-Other 3 modules always had the same total numbers of CODs – 35.

第一个(4000KB)和最后一个(6000KB)实验对我来说是有意义的(假设rejected by the device错误是由于我的模块中的代码数(128)造成的),但是我对第二个(4400KB)和第三个(5500KB)完全感到困惑。第二个应用程序的代码总数大于127–130,但它构建得很好。第三个模块的代码总数大于127,但最大模块中的代码数小于127,但它不会启动。我知道,当我在操作系统版本低于我使用的JDE complier版本的设备上运行时,可能会引发“Class…not found”异常。这里的情况并非如此

我相信我的文件和它生成的代码数量已经达到了极限。有人知道这个限制是多少吗

谢谢


共 (0) 个答案