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)