( Android ) 切换到新活动时出现黑屏

Posted

技术标签:

【中文标题】( Android ) 切换到新活动时出现黑屏【英文标题】:( Android ) Blank Black Screen on switching to new activity 【发布时间】:2015-04-26 11:02:18 【问题描述】:

我正在使用 eclipse,当我运行我的应用程序时,第一个活动工作正常,但是一旦我单击一个按钮开始另一个活动,我在模拟器上就只能看到一个空白的黑屏。 下面是logcat,好像是内存问题,不知道怎么处理。我尝试在 avd manager 中将内存增加到 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 失败: 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: 线程以未捕获的异常退出 (group=0xb2a9aba8) 02-24 10:51:06.982: E/AndroidRuntime(9321): 致命异常: main 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): at 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 失败: 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));
       
 

【问题讨论】:

您需要发布您的代码。但是你的错误是java.lang.OutOfMemoryError。如果不查看您的代码,就不可能知道是什么原因造成的。您也可以尝试增加模拟器中的堆大小 增加堆大小有效,将其更改为 64。问题解决了:)谢谢 它工作了一次,但现在不幸地关闭了相同的代码运行:(以下在 logcat 中继续 - 无法 chmod(/data/data/com.example.quiz/databases/CQuiz ): libcore.io.ErrnoException: chmod failed: EPERM (Operation not allowed) 02-24 14:03:35.023: D/dalvikvm(1356): GC_FOR_ALLOC freed 373K, 13% free 3038K/3476K, paused 196ms ,总共 238 毫秒 【参考方案1】:

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

看看:

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

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

【讨论】:

我使用 sqlite 浏览器创建它并将其推送到 ddms > data > data > myprojectfolder>databases>.....

以上是关于( Android ) 切换到新活动时出现黑屏的主要内容,如果未能解决你的问题,请参考以下文章

使用 XCode 故事板切换视图控制器时出现黑屏

Android - 片段转换时出现黑屏

从 xib 创建 UITabBarController 时出现黑屏

渲染到纹理时出现黑屏

调用 Navigator.popUntil() 时出现黑屏

呈现视图控制器时出现黑屏