膨胀类androidx.constraintlayout.widget.constraintlayout时出错
我创建了一个使用Androidx的Android应用程序。 我正在尝试运行我的Android应用程序,但当它尝试启动登录活动时,我遇到了运行时错误:膨胀类androidx.constraintlayout.widget.constraintlayout时出错,android,android-studio,kotlin,runtime-error,android-constraintlayout,Android,Android Studio,Kotlin,Runtime Error,Android Constraintlayout,我创建了一个使用Androidx的Android应用程序。 我正在尝试运行我的Android应用程序,但当它尝试启动登录活动时,我遇到了运行时错误: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.sportincenterapp, PID: 7414 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sportin
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.sportincenterapp, PID: 7414
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sportincenterapp/com.example.sportincenterapp.LoginActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:696)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:170)
at com.example.sportincenterapp.LoginActivity.onCreate(LoginActivity.kt:9)
at android.app.Activity.performCreate(Activity.java:6662)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Caused by: java.lang.OutOfMemoryError: Failed to allocate a 485935644 byte allocation with 3293900 free bytes and 379MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1155)
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
at android.content.res.Resources.loadDrawable(Resources.java:854)
at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
at android.view.View.<init>(View.java:4175)
at android.view.ViewGroup.<init>(ViewGroup.java:578)
at android.view.ViewGroup.<init>(ViewGroup.java:574)
at android.view.ViewGroup.<init>(ViewGroup.java:570)
at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:567)
最后后勤活动.kt:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_background"
android:padding="20dp"
tools:context=".LoginActivity">
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo_small"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<EditText
android:id="@+id/etUserName"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="50dp"
android:background="@drawable/edittext_login_background"
android:ems="10"
android:hint=" Email"
android:inputType="text"
android:textSize="17sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/logo" />
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext_login_background"
android:ems="10"
android:hint=" Password"
android:inputType="textPassword"
android:textSize="17sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etUserName" />
</androidx.constraintlayout.widget.ConstraintLayout>
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class LoginActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
}
}
我想不出是什么问题。也许你可以试试。要在低api设备上使用vector drawable,您需要将其添加到build.gradle以支持vector drawable。它应该能解决你的问题
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
或者可能您的可绘制文件太大了我刚刚更新了完整的StackTraceLook,比如您的
可绘制/登录\u背景文件
太大了,您的内存不足。试着把它的尺寸缩小一些dimensions@laalto谢谢这就是问题所在。解决方案在stacktrace中。。
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}