2016-09-02 8 views
1

私のアプリの最初の画面を開くときにクラッシュしています。そのうち150台は実際に(1人のユーザーが1人しか検出されていません)のAndroid 4.4.2とSamsung GT-N7100のデバイスです。私はそれを複製することができないよ、いくつかのデバイスにしようとした後ViewPagerがインフレでクラッシュする

Fabric screenshot

...

私の最初の手がかりは、書道のlibにバグを検索しましたが、そこに報告された同様のバグによれば、それらを指しているが、偽の "スタック罪悪感の行"です。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@android:color/white" 
     > 

    <android.support.v4.view.ViewPager 
      android:id="@+id/image_carousel_pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      style="@style/AppRecycler.Light"/> 

</RelativeLayout> 

し、エラーがスローされたラインがViewPager 1である:それはそう...それがポイントです

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.myapp/com.app.mymags.features.product.activities.ProductDetailActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class <unknown> 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
     at android.app.ActivityThread.access$900(ActivityThread.java:175) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:146) 
     at android.app.ActivityThread.main(ActivityThread.java:5602) 
     at java.lang.reflect.Method.invokeNative(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
     at dalvik.system.NativeStart.main(NativeStart.java) 
Caused by android.view.InflateException: Binary XML file line #9: Error inflating class <unknown> 
     at android.view.LayoutInflater.createView(LayoutInflater.java:626) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(SourceFile:211) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(SourceFile:20) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(SourceFile:302) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(SourceFile:60) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
     at com.app.mymags.features.product.viewbuilders.imagecarousel.ImageCarouselViewBuilder.(SourceFile:28) 
     at com.app.mymags.features.product.fragments.imagecarousel.ImageCarouselFragment.onCreateView(SourceFile:92) 
     at android.app.Fragment.performCreateView(Fragment.java:1700) 
     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890) 
     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 
     at android.app.BackStackRecord.run(BackStackRecord.java:684) 
     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453) 
     at android.app.Activity.performStart(Activity.java:5460) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2386) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
     at android.app.ActivityThread.access$900(ActivityThread.java:175) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:146) 
     at android.app.ActivityThread.main(ActivityThread.java:5602) 
     at java.lang.reflect.Method.invokeNative(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
     at dalvik.system.NativeStart.main(NativeStart.java) 
Caused by java.lang.reflect.InvocationTargetException 
     at java.lang.reflect.Constructor.constructNative(Constructor.java) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
     at android.view.LayoutInflater.createView(LayoutInflater.java:600) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(SourceFile:211) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(SourceFile:20) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(SourceFile:302) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(SourceFile:60) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
     at com.app.mymags.features.product.viewbuilders.imagecarousel.ImageCarouselViewBuilder.(SourceFile:28) 
     at com.app.mymags.features.product.fragments.imagecarousel.ImageCarouselFragment.onCreateView(SourceFile:92) 
     at android.app.Fragment.performCreateView(Fragment.java:1700) 
     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890) 
     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 
     at android.app.BackStackRecord.run(BackStackRecord.java:684) 
     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453) 
     at android.app.Activity.performStart(Activity.java:5460) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2386) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
     at android.app.ActivityThread.access$900(ActivityThread.java:175) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:146) 
     at android.app.ActivityThread.main(ActivityThread.java:5602) 
     at java.lang.reflect.Method.invokeNative(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
     at dalvik.system.NativeStart.main(NativeStart.java) 
Caused by java.lang.OutOfMemoryError 
     at android.graphics.BitmapFactory.nativeDecodeAsset(BitmapFactory.java) 
     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:683) 
     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:513) 
     at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:889) 
     at android.content.res.Resources.loadDrawable(Resources.java:3436) 
     at android.content.res.Resources.getDrawable(Resources.java:1909) 
     at android.support.v7.widget.TintResources.superGetDrawable(SourceFile:48) 
     at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(SourceFile:374) 
     at android.support.v7.widget.TintResources.getDrawable(SourceFile:44) 
     at android.widget.EdgeEffect.(EdgeEffect.java:151) 
     at android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(SourceFile:30) 
     at android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(SourceFile:99) 
     at android.support.v4.widget.EdgeEffectCompat.(SourceFile:150) 
     at android.support.v4.view.ViewPager.initViewPager(SourceFile:375) 
     at android.support.v4.view.ViewPager.(SourceFile:360) 
     at java.lang.reflect.Constructor.constructNative(Constructor.java) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
     at android.view.LayoutInflater.createView(LayoutInflater.java:600) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(SourceFile:211) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(SourceFile:20) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(SourceFile:302) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(SourceFile:60) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
     at com.app.mymags.features.product.viewbuilders.imagecarousel.ImageCarouselViewBuilder.(SourceFile:28) 
     at com.app.mymags.features.product.fragments.imagecarousel.ImageCarouselFragment.onCreateView(SourceFile:92) 
     at android.app.Fragment.performCreateView(Fragment.java:1700) 
     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890) 
     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 
     at android.app.BackStackRecord.run(BackStackRecord.java:684) 
     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453) 
     at android.app.Activity.performStart(Activity.java:5460) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2386) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
     at android.app.ActivityThread.access$900(ActivityThread.java:175) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:146) 
     at android.app.ActivityThread.main(ActivityThread.java:5602) 
     at java.lang.reflect.Method.invokeNative(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
     at dalvik.system.NativeStart.main(NativeStart.java) 

XMLは、おそらく特定のレイアウトラインで何かです。

それのスタイル:

<style name="AppRecycler.Light" parent="Base.AppRecycler.Light"/> 

<style name="Base.AppRecycler.Light" parent=""> 
     <item name="android:background">@android:color/white</item> 
     <item name="android:theme">@style/Theme.AppRecycler.Light</item> 
    </style> 

<style name="Base.AppRecycler.Light" parent=""> 
     <item name="android:background">@android:color/white</item> 
     <item name="android:theme">@style/Theme.AppRecycler.Light</item> 
    </style> 

これは、デバイス・ユーザー固有のバグのように見えるので、誰もがそれを修正する方法の手掛かりを持っていますか?

少なくとも、なぜそれが最初に起こっているのですか?

+3

は、 'Cause by java.lang.OutOfMemoryError'を調べます。それは痛い親指のように突き出る。アプリケーションを実行する前に、テストデバイスのメモリをいっぱいに近づけて、おそらくそれを複製することができます。https://stackoverflow.com/questions/24520590/is-there-a-way-to-impose-a-memory-limit-on -an-android-app-for-test – TWL

+0

これはローコンフィグのデバイスで、ビットマップ(Drawables)を扱うための十分なRAMを提供できません。 Drawableサイズを小さくします。 (メモリの使用状況を分析して、何が起こっているかを知ることができます) – Amir

答えて

0

サムスンがUI、デフォルトのアンドロイドをカスタマイズしている可能性がありますが、このデバイスでは一部のビューが動作しない可能性があります。理想的には、OEMはデフォルトのアンドロイドAPIをサポートする必要があります。 samsungは、このデバイス用に別個のSDKを提供しているか、チェックしていません。提供されている場合、sdkで問題を確認します。

関連する問題