Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android “有麻烦”;线程创建失败(错误=重试,堆栈大小=1016KB)";_Android_Memory Management_Fragment - Fatal编程技术网

Android “有麻烦”;线程创建失败(错误=重试,堆栈大小=1016KB)";

Android “有麻烦”;线程创建失败(错误=重试,堆栈大小=1016KB)";,android,memory-management,fragment,Android,Memory Management,Fragment,我的Android应用程序有严重问题 我的项目是一个基于片段的项目 当我点击某个显示片段的按钮时,它会毫无问题地显示该片段 点击后退按钮,然后再次点击“显示片段”按钮 如果我快速重复这些步骤,则log cat上会显示以下错误,应用程序会崩溃 08-21 19:37:23.557:E/dalvikvm(4975):线程创建失败(err=Try) 同样,stacksize=1016KB)08-21 19:37:23.557:E/dalvikvm(4975):线程 创建失败(错误=重试,堆栈大小=98

我的Android应用程序有严重问题

我的项目是一个基于片段的项目

当我点击某个显示片段的按钮时,它会毫无问题地显示该片段

点击后退按钮,然后再次点击“显示片段”按钮

如果我快速重复这些步骤,则log cat上会显示以下错误,应用程序会崩溃

08-21 19:37:23.557:E/dalvikvm(4975):线程创建失败(err=Try) 同样,stacksize=1016KB)08-21 19:37:23.557:E/dalvikvm(4975):线程 创建失败(错误=重试,堆栈大小=984KB)08-21 19:37:23.558: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=952KB)08-21 19:37:23.558:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=920KB)08-21 19:37:23.558: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=1016KB)08-21 19:37:23.558:E/dalvikvm(4975):线程 创建失败(错误=重试,堆栈大小=984KB)08-21 19:37:23.559: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=952KB)08-21 19:37:23.559:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=920KB)08-21 19:37:23.559: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=888KB)08-21 19:37:23.559:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=856KB)08-21 19:37:23.559: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=824KB)08-21 19:37:23.559:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=792KB)08-21 19:37:23.559: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=760KB)08-21 19:37:23.559:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=728KB)08-21 19:37:23.560: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=696KB)08-21 19:37:23.560:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=664KB)08-21 19:37:23.560: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=632KB)08-21 19:37:23.560:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=600KB)08-21 19:37:23.560: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=568KB)08-21 19:37:23.560:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=536KB)08-21 19:37:23.560: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=504KB)08-21 19:37:23.560:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=472KB)08-21 19:37:23.561: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=440KB)08-21 19:37:23.561:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=408KB)08-21 19:37:23.561: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=376KB)08-21 19:37:23.561:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=344KB)08-21 19:37:23.561: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=312KB)08-21 19:37:23.561:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=280KB)08-21 19:37:23.561: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=248KB)08-21 19:37:23.561:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=216KB)08-21 19:37:23.561: E/dalvikvm(4975):线程创建失败(错误=重试, stacksize=184KB)08-21 19:37:23.562:E/dalvikvm(4975):线程创建 失败(错误=重试,堆栈大小=152KB)08-21 19:37:23.876: A/libc(4975):0x00000000(代码=1)处的致命信号11(SIGSEGV),线程 4975(阿曼任务记录器)08-21 19:37:23.876:A/libc(4975):发送停止 发送至pid的信号:4975无效调试程序中的信号处理程序(int,siginfo\u t*, 无效*)

我认为我的项目配置中可能存在内存问题。 任何经历过这种错误的人都应该帮助我。 当我多次重复显示警报对话框并按下后退按钮时,也发生了相同的错误

这是内存不足的问题吗

下面是显示警报对话框的代码

public class ReportFragment extends BaseFragment {
....

private void onShowAlertButtonClicked() {
     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
     builder.setTitle("Fruits");
     builder.setItems(new String[]{"Apple", "Orange", "Banana"}, null);
     AlertDialog dialog = builder.create();
     dialog.show();
}

...
}
总之,当这个onShowAlertButtonClicked回调被多次触发时,应用程序就会崩溃。 我在片段中看到了关于
AlertDialog
的堆栈溢出描述。 他们说上下文对于
AlertDialog
很重要。 因此,我用各种上下文(如活动和应用程序)更改了警报对话框的上下文, 但错误仍然存在

也许这个错误对安卓忍者来说并不难

感谢您查看我的报告。

试试这个

private void onShowAlertButtonClicked(View v) {
     AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
     builder.setTitle("Fruits");
     builder.setItems(new String[]{"Apple", "Orange", "Banana"}, null);
     AlertDialog dialog = builder.create();
     dialog.show();
}

嗨,谢谢你的通知。我已通过删除空闲循环代码片段修复了该错误。然后我的问题是,当我使用v.getContext()而不是getActivity()时会发生什么。