新的android编程。出现跟踪错误。获取java.lang.OutOfMemoryError异常?
04-07 14:49:05.452: ERROR/AndroidRuntime(1566): FATAL EXCEPTION: main
java.lang.OutOfMemoryError
at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:94)
at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:145)
at java.lang.StringBuilder.append(StringBuilder.java:216)
at com.myapp.StartupActivity.onListItemClick(StartupActivity.java:87)
at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
at android.widget.AdapterView.performItemClick(AdapterView.java:292)
at android.widget.AbsListView.performItemClick(AbsListView.java:1058)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)
at android.widget.AbsListView$1.run(AbsListView.java:3168)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
使用选项卡布局,并且有三个用于控制选项卡的活动。我想我跨越了可用于我的应用程序的内存堆。有人能告诉我如何摧毁对象时,你离开标签?在下面的代码中发生错误。
String separator = "|"
String myString = "";
for(String string : Mylist)
{
myString += myString + string + separator;
}
您的实现会创建大量不必要的中间字符串。考虑使用'StringBuilder'或一些第三方代码。使用Apache Commons,您可以使用'org.apache.commons.lang.StringUtils.join(MyList,separator)'代替。 – qerub 2012-04-07 09:38:57
由Qerub建议使用StringBulder解决错误,但应用程序需要太多时间才能完成操作。所以我试过'String separator =“\\ |”正如hotveryspicy所建议的那样。现在应用程序完美无缺。多谢你们。 Stakeoverflow对我来说真的很有用。 – 2012-04-07 10:14:56