2015-11-13 3 views
0

Это мой первый раз в андроид-студиях, а также все, что связано с кодированием, так как я взял java в колледже. В настоящее время я следую за простым учебным пособием по использованию YouTube для создания простого приложения. К сожалению, всякий раз, когда я запускаю AVD, я получаю сообщение об ошибке «к сожалению, ваше приложение остановилось». Я понятия не имею, в чем проблема, и я искал в Интернете и не могу найти ответ. Я знаю его простую, и вы, ребята, возможно, быстро найдете его, поэтому я здесь. Благодаря тому, кто помогает!Первый раз в студии android

Это моя основная деятельность:

package com.example.owner.pickupline; 

    import android.os.Bundle; 
    import android.support.design.widget.FloatingActionButton; 
    import android.support.design.widget.Snackbar; 
    import android.support.v7.app.AppCompatActivity; 
    import android.support.v7.widget.Toolbar; 
    import android.view.View; 
    import android.view.Menu; 
    import android.view.MenuItem; 

    public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
} 

Heres мой код:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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:orientation="vertical" 
    tools:context=".MainActivity"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight=".5"> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/cleanImage" 
      android:layout_centerVertical="true" 
      android:src="@drawable/clean" 
      android:nestedScrollingEnabled="false" 
      android:cropToPadding="false" 
      android:scaleType="fitXY" 
      android:longClickable="false" /> 

     <Button 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:text="Clean" 
      android:id="@+id/cleanButton" 
      android:layout_centerVertical="true" 
      android:layout_centerHorizontal="true" 
      android:textSize="50dp" 
      android:textColor="#ffffff" 
      android:background="#a4000000" 
      android:longClickable="true" /> 

    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight=".5"> 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/dirtyImage" 
      android:layout_centerVertical="true" 
      android:layout_centerHorizontal="true" 
      android:nestedScrollingEnabled="false" 
      android:src="@drawable/dirty" 
      android:scaleType="fitXY" 
      android:longClickable="true" /> 

     <Button 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:text="Dirty" 
      android:id="@+id/dirtyButton" 
      android:layout_centerVertical="true" 
      android:layout_centerHorizontal="true" 
      android:textSize="50dp" 
      android:textColor="#ffffff" 
      android:background="#a4000000" /> 

    </RelativeLayout> 


</LinearLayout> 

Heres некоторые сообщения об ошибке

FATAL EXCEPTION: main 
11-12 19:42:34.563 2376-2376/com.example.owner.pickupline E/AndroidRuntime: Process: com.example.owner.pickupline, PID: 2376 
java.lang.OutOfMemoryError: Failed to allocate a 144000012 byte allocation with 1048576 free bytes and 63MB until OOM 
11-12 19:42:34.563 2376-2376/com.example.owner.pickupline E/AndroidRuntime:  at dalvik.system.VMRuntime.newNonMovableArray(Native Method) 
11-12 19:42:34.563 2376-2376/com.example.owner.pickupline E/AndroidRuntime:  at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
11-12 19:42:34.563 2376-2376/com.example.owner.pickupline E/AndroidRuntime:  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609) 
11-12 19:42:34.563 2376-2376/com.example.owner.pickupline E/AndroidRuntime:  at 
+0

Вы пытались установить AVD с большей памятью, потому что это ошибка, которую вы получаете. Я помню, когда я использовал Android Studio, максимальная выделенная память по умолчанию для AVD была довольно низкой. –

+0

Сколько еще памяти вы бы предложили? Я просто добавил 3 ГБ и произошла ошибка. –

+0

Чтобы ответить на вопрос о том, сколько памяти потребуется, чтобы оно соответствовало вашим стандартам (вероятно, не более 2 ГБ), и что касается вашего другого вопроса, похоже, что ошибка вызвана вашей кода, он просто заявляет, что он убил основное действие, потому что в нем не хватало памяти, попробуйте перекомпилировать все и перезапустить AS. –

ответ

0

Вы пробовали работает на реальном устройстве, Наиболее вероятная причина заключается в том, что AVD имеет максимальный размер кучи по умолчанию 13 мб, который очень мал, сравнивая большинство устройств, попробуйте изменить это значение t o 32 мб. Окно -> AVD Manager -> Виртуальные устройства -> Отредактируйте там вы увидите возможность изменить максимальный размер кучи VM. Если он все еще не работает, попробуйте увеличить его количество.

Смежные вопросы