由于GREF,MvvmCross Xamarin Droid崩溃> 2000

时间:2014-03-25 20:46:39

标签: xamarin.android xamarin mvvmcross

在我们正在开发的最近的“远程控制”应用程序中,由于#GREF在模拟器中超过2000,因此我们在意外崩溃中运行了几天。在真正的硬件上,它需要更长的时间但最终也会发生(我知道真实硬件上不存在2000的模拟器限制)。我研究了大部分SO主题与同一主题,但与我们的情况没有真正的相似之处。 UI并不复杂,基本上使用几个单独的屏幕进行设置,之后它在带有多个页面的TabView中工作。没什么好看的。

在最后一次崩溃中,我使用GREF的摘要捕获了调试日志。

    03-25 20:29:22.184 D/dalvikvm( 1686): GREF has increased to 2001
    03-25 20:29:22.184 W/dalvikvm( 1686): JNI global reference table (0xbb68f218) dump:
    03-25 20:29:22.184 W/dalvikvm( 1686):   Last 10 entries (of 2001):
    03-25 20:29:22.184 W/dalvikvm( 1686):      2000: 0xb54e0f20 java.lang.Class<mono.java.lang.RunnableImplementor>
    03-25 20:29:22.184 W/dalvikvm( 1686):      1999: 0xb5652570 java.lang.NoClassDefFoundError
    03-25 20:29:22.184 W/dalvikvm( 1686):      1998: 0xb5652af8 mono.java.lang.RunnableImplementor
    03-25 20:29:22.184 W/dalvikvm( 1686):      1997: 0xb5652ce0 java.lang.NoClassDefFoundError
    03-25 20:29:22.184 W/dalvikvm( 1686):      1996: 0xb56539e8 mono.java.lang.RunnableImplementor
    03-25 20:29:22.194 W/dalvikvm( 1686):      1995: 0xb5653460 java.lang.NoClassDefFoundError
    03-25 20:29:22.194 W/dalvikvm( 1686):      1994: 0xb56537e8 mono.java.lang.RunnableImplementor
    03-25 20:29:22.194 W/dalvikvm( 1686):      1993: 0xb5653bb8 java.lang.NoClassDefFoundError
    03-25 20:29:22.194 W/dalvikvm( 1686):      1992: 0xb5654358 mono.java.lang.RunnableImplementor
    03-25 20:29:22.194 W/dalvikvm( 1686):      1991: 0xb5654338 java.lang.NoClassDefFoundError
    03-25 20:29:22.194 W/dalvikvm( 1686):   Summary:
    03-25 20:29:22.194 W/dalvikvm( 1686):       318 of java.lang.Class (166 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):        20 of android.w03-25 20:29:22.194 W/dalvikvm( 1686):        18 of java.lang.String (18 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):       440 of java.lang.NoClassDefFoundError (440 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         1 of java.lang.Boolean
    03-25 20:29:22.194 W/dalvikvm( 1686):        13 of java.lang.Integer (13 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         1 of java.io.File
    03-25 20:29:22.194 W/dalvikvm( 1686):        49 of java.lang.ref.WeakReference (49 unique instances)
    03-25 20:29:22.194 W/da03-25 20:29:22.194 W/dalvikvm( 1686):         1 of dalvik.system.PathClassLoader
    03-25 20:29:22.194 W/dalvikvm( 1686):         7 of android.graphics.Bitmap (7 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         1 of android.app.ActivityThread$ApplicationThread
    03-25 20:29:22.194 W/dalvikvm( 1686):         2 of android.os.Handler (2 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         1 of android.content.ContentProvider$Transport
    03-25 20:29:22.194 W/dalvikvm( 1686):        20 of android.content.Intent (20 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):        29 of android.widget.EditText (29 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):        15 of android.content.res.XmlBlock$Parser (15 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         1 of android.database.ContentObserver$Transport
    03-25 20:29:22.194 W/dalvikvm( 1686):       225 of android.widget.TextView (225 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):        13 of android.os.Bundle (13 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         1 of android.os.Looper
    03-25 20:29:22.194 W/dalvikvm( 1686):         2 of org.apache.harmony.xnet.provider.jsse.TrustManagerImpl (1 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):        29 of android.text.SpannableStringBuilder (29 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         5 of android.view.ViewRootImpl$InputMethodCallback (5 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         1 of android.view.accessibility.AccessibilityManager$1
    The program 'Mono' has exited with code 0 (0x0).
    03-25 20:29:22.194 W/dalvikvm( 1686):        15 of android.view.ViewRootImpl$W (15 unique instances)
    03-25 20:29:22.194 W/dalvikvm( 1686):         8 of android.widget.CheckBox (8 unique instances)

让我印象深刻的是'java.lang.NoClassDefFoundError'实例(440)。我怀疑日志不完整,因为另一个明显的高流媒体'mono.java.lang.RunnableImplementor'不在列表中。第二个观察结果是在顶部运行GREF并使应用程序崩溃的两个交替实例的序列。

问题:任何可能导致这两个GREF实例丰富的想法?它们是什么意思和创造它们的原因(这可能导致我找到崩溃的根本原因)。

Thx!

0 个答案:

没有答案