Что такое вызовы ZygoteInit?

Я периодически получаю сообщения об исключениях на Android Market, которые невозможно воспроизвести. Трассировки стека всегда начинаются так:

at ...
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4306)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)

ZygoteInit $ MethodAndArgsCaller, похоже, вызывает методы приложения напрямую, а не через код. Как это происходит?


Наконец, воспроизведено одно из этих исключений следующим образом: коснитесь значка приложения, коснитесь текстового поля, чтобы открыть диалоговое окно, нажмите «Домой», убейте идентификатор приложения, коснитесь значка приложения и нажмите «Назад». Добавлено сохранение и восстановление переменных экземпляров приложения в onSaveInstanceState и onRestoreInstanceState для устранения проблемы.

Все еще хотелось бы найти где-нибудь описание вызовов ZygoteInit.

21
задан casperOne 23 February 2012 в 19:03
поделиться