我有一个基于Web 2.0技术的应用程序-基本上,我使用phonegap / Titanium方法来启动Web浏览器,其中大部分应用程序都是用javascript和HTML(更精确地说是jQuery)编写的。该应用程序可以在模拟器上很好地运行,但是当我在G1上启动它时,它会崩溃。当我减少为该应用程序编写的javascript的数量时,它会再次开始工作。或者,如果我删除javascriptInterface来访问某些基于“ java”的方法,则该应用程序也可以运行。
当我尝试加载应用程序所需的所有javascript和java对象时,它崩溃了(如下面的日志所示)。我可以在Webkit中加载的“代码”内存量是否有一定的硬性限制?疯狂的是,这个应用程序使用了很多图像,可以很好地加载..好像我在允许我解析并加载到Webkit的javascript行数上达到了一些限制?它确实说了一些“打开的文件太多”的问题,但这可能是问题所在,但是我实际上并没有使用应用程序打开任何文件,因此我对此错误感到困惑。
谢谢你的帮助。最近几天,我一直在为此苦苦挣扎。
07-03 16:43:23.430: DEBUG/dalvikvm(104): GC freed 964 objects / 41632 bytes in 285ms
07-03 16:43:24.030: DEBUG/dalvikvm(314): GC freed 710 objects / 23680 bytes in 131ms
07-03 16:43:24.380: INFO/ActivityManager(62): Process android.process.im (pid 220) has died.
07-03 16:43:24.650: DEBUG/dalvikvm(104): GC freed 964 objects / 41688 bytes in 154ms
07-03 16:43:24.700: ERROR/IMemory(104): cannot dup fd=1023, size=1048576, err=0 (Too many open files)
07-03 16:43:24.700: ERROR/IMemory(104): cannot map BpMemoryHeap (binder=0x4fe260), size=1048576, fd=-1 (Bad file number)
07-03 16:43:24.820: ERROR/JavaBinder(104): *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
07-03 16:43:24.820: ERROR/JavaBinder(104): java.lang.RuntimeException: No memory in memObj
07-03 16:43:24.820: ERROR/JavaBinder(104): at android.database.CursorWindow.native_init(Native Method)
07-03 16:43:24.820: ERROR/JavaBinder(104): at android.database.CursorWindow.<init>(CursorWindow.java:467)
07-03 16:43:24.820: ERROR/JavaBinder(104): at android.database.CursorWindow.<init>(CursorWindow.java:27)
07-03 16:43:24.820: ERROR/JavaBinder(104): at android.database.CursorWindow$1.createFromParcel(CursorWindow.java:442)
07-03 16:43:24.820: ERROR/JavaBinder(104): at android.database.CursorWindow$1.createFromParcel(CursorWindow.java:445)
07-03 16:43:24.820: ERROR/JavaBinder(104): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:95)
07-03 16:43:24.820: ERROR/JavaBinder(104): at android.os.Binder.execTransact(Binder.java:287)
07-03 16:43:24.820: ERROR/JavaBinder(104): at dalvik.system.NativeStart.run(Native Method)
有时,当您不断通过模拟器重新安装应用程序时,由于android上的“取消链接”过程中存在错误,因此手机可能会耗尽内存。
我遇到此错误:com.android.ddmlib.SyncException:打开的文件太多 -必须重新启动手机以释放内存。
希望您在开发期间只需这样做一次或两次。祝好运!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。