2016-03-29 17 views
0

Ben dün iyi çalıştı, ancak bugün bir düğme ekledikten sonra küçük bir uygulama yapıyorum. Tüm değişikliklerimi geri aldım, ancak yine de aynı hatayı alıyorum, uygulamanın belleği tükendi. Bu kod ve yığın izlemesi:Android studio uygulaması rasgele bellek bitti

public class MainActivity extends AppCompatActivity { 
private MainActivity mainActivity = new MainActivity(); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 
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); 
}} 

Logcat: http://pastebin.com/UdAFp32h

Ben LogCat içinde ilginç bir şey buldum

: Ben I hariç gidiş bir sonsuz döngü, var gibi

03-29 14:34:42.067 20964-20964/com.example.antongustafsson.csnappen 
A/art:art/runtime/runtime.cc:291] at 
com.example.antongustafsson.csnappen.MainActivity.<init>(MainActivity.java:15) 

03-29 14:34:42.067 20964-20964/com.example.antongustafsson.csnappen 
A/art: art/runtime/runtime.cc:291] at 
com.example.antongustafsson.csnappen.MainActivity.<init>(MainActivity.java:16) 

03-29 14:34:42.067 20964-20964/com.example.antongustafsson.csnappen 
A/art: art/runtime/runtime.cc:291] at 
com.example.antongustafsson.csnappen.MainActivity.<init>(MainActivity.java:16) 

03-29 14:34:42.067 20964-20964/com.example.antongustafsson.csnappen 
A/art: art/runtime/runtime.cc:291] at 
com.example.antongustafsson.csnappen.MainActivity.<init>(MainActivity.java:16) 

03-29 14:34:42.067 20964-20964/com.example.antongustafsson.csnappen 
A/art: art/runtime/runtime.cc:291] ... **repeated 261584 times** 

görünüyor yapma. Deneyebileceğim bir şey bilen var mı? Bu hata neden sadece rastgele meydana geliyor?

MainActivity mainActivity = new MainActivity(); 

MainActivity örneklerini oluşturmak yapar sonsuz özyineleme yol açacaktır değişken ilanından bu yana ve initalization

+1

Hafızanızı profil ve potansiyel hafıza izlemek için Eclipse Memory Analyzer Tool kullanmaya sızdırılan deneyin? –

+0

Eğer "MainActivity" sınıfınızın bir örneğine ihtiyacınız varsa, sadece bu 'this' anahtar sözcüğünü kullanın. – Rohan

+0

evet, bunu fark ettim. Kahretsin, bence yoruldum! Teşekkürler. – Baxtex

cevap

9

Sınıfınız MainActivity repeaditly, MainActivity yeni örneklerini oluşturur.

bellek ile gelecek sorunlar için