(Android)空白黑屏切换到新活动

时间:2015-02-24 17:25:50

标签: android eclipse out-of-memory android-logcat

我正在使用eclipse,当我运行我的应用程序时,第一个活动工作正常,但只要我点击一个按钮开始另一个活动,我就可以在模拟器上看到一个空白的黑屏。 以下是logcat,似乎是一个内存问题,不知道如何处理它。我尝试在avd管理器中将内部内存增加到4 GiB,但仍然没有帮助。

P.S - 第二个活动从内部存储器访问数据库文件。

任何人都可以帮忙吗?


logcat: -

02-24 10:50:05.942:W / FileUtils(9321):无法解决chmod(/data/data/com.example.quiz/databases/CQuiz):libcore.io.ErrnoException:chmod failed :EPERM(不允许操作)


02-24 10:51:06.812:E / dalvikvm-heap(9321): 529564字节分配时内存不足。


02-24 10:50:06.462:D / dalvikvm(9321): GC_FOR_ALLOC释放359K,13%免费3053K / 3476K,暂停74ms,总计108ms
02-24 10:50:07.592:D / dalvikvm(9321): GC_FOR_ALLOC释放64K,4%免​​费3501K / 3632K,暂停83ms,总计84ms


02-24 10:51:03.602:I / dalvikvm-heap(9321):将目标GC堆从48.252MB夹紧到48.000MB
02-24 10:51:03.602:D / dalvikvm(9321): GC_FOR_ALLOC释放1034K,3%免费47300K / 48412K,暂停930ms,总计930ms


02-24 10:51:06.812:E / dalvikvm-heap(9321): 529564字节分配时内存不足。


02-24 10:51:06.932:D / AndroidRuntime(9321):关闭虚拟机
02-24 10:51:06.932:W / dalvikvm(9321):threadid = 1:线程退出未捕获异常(组= 0xb2a9aba8)
02-24 10:51:06.982:E / AndroidRuntime(9321):致命例外:主
02-24 10:51:06.982:E / AndroidRuntime(9321):处理:com.example.quiz,PID:9321
02-24 10:51:06.982:E / AndroidRuntime(9321): java.lang.OutOfMemoryError
02-24 10:51:06.982:E / AndroidRuntime(9321):at java.util.ArrayList.add(ArrayList.java:118)
02-24 10:51:06.982:E / AndroidRuntime(9321):at com.example.quiz.Andro.onCreate(Andro.java:55)
02-24 10:51:06.982:E / AndroidRuntime(9321):在android.app.Activity.performCreate(Activity.java:5231)
02-24 10:51:06.982:E / AndroidRuntime(9321):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
02-24 10:51:06.982:E / AndroidRuntime(9321):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
02-24 10:51:06.982:E / AndroidRuntime(9321):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
02-24 10:51:06.982:E / AndroidRuntime(9321):在android.app.ActivityThread.access $ 800(ActivityThread.java:135)
02-24 10:51:06.982:E / AndroidRuntime(9321):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)
02-24 10:51:06.982:E / AndroidRuntime(9321):在android.os.Handler.dispatchMessage(Handler.java:102)

02-24 10:57:13.152:W / FileUtils(11021):无法解决chmod(/data/data/com.example.quiz/databases/CQuiz):libcore.io.ErrnoException:chmod failed :EPERM(不允许操作)

第二项活动: -

public class Andro extends ActionBarActivity{
TextView tv;
RadioButton r1,r2,r3,r4;
RadioGroup rg;
Button pre,nex,conf;
MyDatabase md;
Cursor c;
String ans;
protected void onCreate(Bundle b){

super.onCreate(b);
setContentView(R.layout.a_quiz);

tv= (TextView)findViewById(R.id.textView1);
r1 = (RadioButton)findViewById(R.id.RadioButton01);
r2 = (RadioButton)findViewById(R.id.radio0);
r3 = (RadioButton)findViewById(R.id.radio1);
r4 = (RadioButton)findViewById(R.id.radio2);
rg = (RadioGroup)findViewById(R.id.radioGroup1);

pre = (Button)findViewById(R.id.button1);
nex = (Button)findViewById(R.id.button2);
conf = (Button)findViewById(R.id.button3);

md= new MyDatabase(getApplicationContext(),"CQuiz",null,1);

c = md.fetch();
c.moveToFirst();
Integer count=c.getColumnCount();
Toast.makeText(this,count.toString()+"columns",3000).show();
while(c.isFirst())
{ 
  tv.setText(c.getString(0));
   r1.setText(c.getString(1));
   r2.setText(c.getString(2));
  r3.setText(c.getString(3));
   r4.setText(c.getString(4));
   }    
 }
}

1 个答案:

答案 0 :(得分:0)

看起来这是一个已知的错误。

看看:

https://code.google.com/p/android/issues/detail?id=64345

您如何以及在何处创建数据库?