2016-03-28 10 views
0

Android Studio'uma yeni bir Activity ekledim. Bu Etkinliğin bir resmi var. İşte benim xml.file koduAndroid Studio - Görüntünün çökmesine yol açan emülatör ile aktivite ancak telefonla çalışıyor

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
tools:showIn="@layout/auxguide1" 
tools:context=".AuxGuide1"> 

<ImageView 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    android:id="@+id/imageView2" 
    android:src="@drawable/logoauxguide" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" /> 

ve burada java sınıfı paket com.example.gonalo.meu benim kodudur olduğu;

import android.content.Intent; 
import android.os.Bundle; 
import android.os.Handler; 
import android.support.v7.app.AppCompatActivity; 

public class AuxGuide1 extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.auxguide1); 
     int secondsDelayed = 1; 
     new Handler().postDelayed(new Runnable() { 
      public void run() { 
       startActivity(new Intent(AuxGuide1.this, MainActivity.class)); 

       finish(); 
      } 
     }, secondsDelayed * 4000); 
    } 

} 

Benim telefonda mükemmel çalışıyor, ancak emülatörü çalıştırın zaman

Bu Olmayacak benim logcat

03-28 08:01:20.513 29031-29031/com.example.gonalo.meu W/art: Throwing OutOfMemoryError "Failed to allocate a 79051908 byte allocation with 1048576 free bytes and 63MB until OOM" 
03-28 08:01:20.514 29031-29031/com.example.gonalo.meu D/skia: --- allocation failed for scaled bitmap 
03-28 08:01:20.514 29031-29031/com.example.gonalo.meu D/AndroidRuntime: Shutting down VM 
03-28 08:01:20.515 29031-29031/com.example.gonalo.meu E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.gonalo.meu, PID: 29031 
                    java.lang.OutOfMemoryError: Failed to allocate a 79051908 byte allocation with 1048576 free bytes and 63MB until OOM 
                     at dalvik.system.VMRuntime.newNonMovableArray(Native Method) 
                     at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
                     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609) 
                     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444) 
                     at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080) 
                     at android.content.res.Resources.loadDrawableForCookie(Resources.java:2635) 
                     at android.content.res.Resources.loadDrawable(Resources.java:2540) 
                     at android.content.res.TypedArray.getDrawable(TypedArray.java:870) 
                     at android.widget.ImageView.<init>(ImageView.java:152) 
                     at android.widget.ImageView.<init>(ImageView.java:140) 
                     at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57) 
                     at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53) 
                     at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106) 
                     at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:972) 
                     at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1031) 
                     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746) 
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                     at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:971) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:831) 
                     at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276) 
                     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                     at com.example.gonalo.meu.AuxGuide1.onCreate(AuxGuide1.java:13) 
                     at android.app.Activity.performCreate(Activity.java:6237) 
                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                     at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                     at android.os.Looper.loop(Looper.java:148) 
                     at android.app.ActivityThread.main(ActivityThread.java:5417) 
                     at java.lang.reflect.Method.invoke(Native Method) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
03-28 08:01:25.402 29031-29031/? I/Process: Sending signal. PID: 29031 SIG: 9 

olan "üzgün uygulama durdurdu" diyor İşimi projede durduruyorum, ancak bunun neden olduğunu bilmek benim için yararlı olur. Yardım için minnettarım. My application has stopped (emulator only)

+0

"AuxGuide1" xml'deki "logoauxguide" görüntüsünün boyutu nedir? –

+0

@FabinPaul Görüntünün boyutunu nasıl ararım? Nerede olduğunu biliyordum ama nerede olduğunu hatırlayamıyorum. –

+0

xml –

cevap

2

Bir android aygıtın bir görüntüyü görüntülemesi gerekiyorsa, görüntünün tamamını belleğe yüklemesi gerekir. Sizin durumunuzda logoauxguide yüksek çözünürlüklü görüntüdür, böylece tüm görüntü cihaz belleğine sığmaz. Dolayısıyla OutOfMemoryError ortaya çıkacaktır.

Ancak daha büyük belleğe sahip bir aygıt, bu durumda telefonunuz resimi belleğe yükleyebilir.

Görüntüyü görüntülemek istiyorsanız, herhangi bir görüntü düzenleme aracında çözünürlüğünü azaltmanız gerekir (640x480 sadece iyi olacaktır). Bunun yanında, daha büyük bir bellek görüntüsünün, daha büyük bir boyutta olmasını istemiyorsunuz :)

+0

Belleği büyütmek için herhangi bir seçenek var mı? –

+0

Bellek, donanım kısıtlamasıdır ve değiştirilemez. (En eski nexus 6p, 3gb değerinde ram iken, yalnızca 512mb'lik bir ram aygıtına bağlıdır) –

İlgili konular