我主要在Vivo设备上获得Resources $ NotFoundException。这仅在Drawable资源中发生。我有从mdpi到xxxhdpi的所有变体。所有这些都是png。我无法复制它,只能在4个不同的地方进行生产。其中2个位于启动画面中,1个位于this line中this drawable的facebook登录库中。这意味着这些用户无法进入应用程序。知道是否需要对这些设备进行一些特殊处理吗?我以前从未遇到过这样的事情。
示例代码
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="0dp"
android:adjustViewBounds="true"
app:srcCompat="@drawable/splash"
app:layout_constraintWidth_max="400dp"
app:layout_constraintBottom_toTopOf="@+id/white_bg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:src="@drawable/splash"/>
在这里,我由于splash
可绘制而崩溃。
堆栈跟踪
由android.content.res.Resources $ NotFoundException导致 查找资源ID#0x7f08013d com.myapp.ui.splashScreen.SplashScreenActivity.onCreate
由android.content.res.Resources $ NotFoundException引起:无法执行 查找资源ID#0x7f08013d 在android.content.res.ResourcesImpl.getResourceName(ResourcesImpl.java:292) 在android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:879) 在android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:749) 在android.content.res.Resources.loadDrawable(Resources.java:922) 在android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:953) 在android.content.res.TypedArray.getDrawable(TypedArray.java:928) 在android.widget.ImageView(ImageView.java:188) 在android.widget.ImageView(ImageView.java:171) 在androidx.appcompat.widget.AppCompatImageView。(AppCompatImageView.java:72) 在androidx.appcompat.widget.AppCompatImageView。(AppCompatImageView.java:68) 在androidx.appcompat.app.AppCompatViewInflater.createImageView(AppCompatViewInflater.java:187) 在androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:107) 在androidx.appcompat.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266) 在androidx.appcompat.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316) 在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:817) 在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:775) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:908) 在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:869) 在android.view.LayoutInflater.inflate(LayoutInflater.java:521) 在android.view.LayoutInflater.inflate(LayoutInflater.java:429) 在android.view.LayoutInflater.inflate(LayoutInflater.java:380) 在androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) 在androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:141) 在com.myapp.ui.splashScreen.SplashScreenActivity.onCreate(SplashScreenActivity.java:81) 在android.app.Activity.performCreate(Activity.java:7129) 在android.app.Activity.performCreate(Activity.java:7120) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2906) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3031) 在android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1732) 在android.os.Handler.dispatchMessage(Handler.java:106) 在android.os.Looper.loop(Looper.java:192) 在android.app.ActivityThread.main(ActivityThread.java:6792) 在java.lang.reflect.Method.invoke(Method.java) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:438) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)
答案 0 :(得分:0)
几乎所有Vivo手机都遇到相同的问题,然后将图像添加到noDpi并解决了。