我有一个名为CacheDownloader的类,用于下载并解压我的主jar文件(客户端)的更新。我遇到了一个问题,因为它无法在使用时解压新的客户端并替换旧的客户端,所以我不得不制作一个新的jar文件(称为ClientUpdater),它将解压新的客户端来替换旧的客户端,然后打开新的客户端。
ClientUpdater可以轻松打开客户端。但是,CacheDownloader无法打开ClientUpdater,它会出现内存不足错误。
CacheDownloader仍然会下载所有新文件并解压大部分文件,而ClientUpdater只需要解压包含相当小的客户端的微小zip文件。
以下是CacheDownloader如何加载ClientUpdater:
ClientUpdater可以轻松打开客户端。但是,CacheDownloader无法打开ClientUpdater,它会出现内存不足错误。
CacheDownloader仍然会下载所有新文件并解压大部分文件,而ClientUpdater只需要解压包含相当小的客户端的微小zip文件。
以下是CacheDownloader如何加载ClientUpdater:
Runtime.getRuntime().exec("java -jar " + getCacheDir() + "/ClientUpdater.jar");
System.exit(0);
这是完整的错误信息 - http://gyazo.com/8105ffd4c35f5f6d4a68a770fedf8f92
希望这已经提供了足够的上下文和信息,没有过长。我的问题是,我该如何解决这个问题?错误显示我可以增加保留的代码缓存,这样做有什么负面影响吗?我该如何做到这一点,Google并没有真正展示如何操作,只是解释了它的作用。
我对Java还比较陌生,请注意这一点。