Toast.makeText ANR

时间:2013-09-23 07:05:07

标签: android hang android-anr-dialog android-toast

我得到一个似乎来自Toast.makeText的ANR:

  

DALVIK THREADS :(互斥:tll = 0 tsl = 0 tscl = 0 ghl = 0 hwl = 0 hwll = 0)   “main”prio = 5 tid = 1 SUSPENDED | group =“main”sCount = 1 dsCount = 0   obj = 0x40163600 self = 0x12620 | sysTid = 4197 nice = 0 sched = 0/0   cgrp =默认句柄= -1345338264 | schedstat =(149532214000 43042125000   324000)utm = 13923 stm = 1030 core = 0 at   android.graphics.Matrix.native_create(Native Method)at   android.graphics.Matrix。(Matrix.java:49)at   android.view.View。(View.java:1852)at   android.view.View。(View.java:2411)at   android.view.ViewGroup。(ViewGroup.java:365)at   android.widget.LinearLayout。(LinearLayout.java:156)at   android.widget.LinearLayout。(LinearLayout.java:152)at   java.lang.reflect.Constructor.constructNative(Native Method)at   java.lang.reflect.Constructor.newInstance(Constructor.java:416)at   android.view.LayoutInflater.createView(LayoutInflater.java:576)at   com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)   在android.view.LayoutInflater.onCreateView(LayoutInflater.java:644)   在   android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669)   在android.view.LayoutInflater.inflate(LayoutInflater.java:457)at   android.view.LayoutInflater.inflate(LayoutInflater.java:391)at   android.view.LayoutInflater.inflate(LayoutInflater.java:347)at   android.widget.Toast.makeText(Toast.java:230)at    android.widget.Toast.makeText (Toast.java:253)at at   com.anthonymandra.framework.ViewerActivity。的 onActivityResult (ViewerActivity.java:802)   在android.app.Activity.dispatchActivityResult(Activity.java:4581)处   android.app.ActivityThread.deliverResults(ActivityThread.java:2814)at   android.app.ActivityThread.handleSendResult(ActivityThread.java:2861)   在android.app.ActivityThread.access $ 1000(ActivityThread.java:122)at   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1054)   在android.os.Handler.dispatchMessage(Handler.java:99)at   android.os.Looper.loop(Looper.java:132)at   android.app.ActivityThread.main(ActivityThread.java:4123)at   java.lang.reflect.Method.invokeNative(Native Method)at   java.lang.reflect.Method.invoke(Method.java:491)at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)at   dalvik.system.NativeStart.main(原生方法)

这是从onActivityResult中调用的代码行:

Toast.makeText(this, R.string.save_success, Toast.LENGTH_SHORT).show();

任何人都知道为什么Toast会导致ANR,或者如果我误读了这个怎么可能真的出错?谢谢!

1 个答案:

答案 0 :(得分:0)

您应该使用R.string,然后使用以下

,而不是直接使用getResources()
String strSuccess = getString(R.string.save_success);
Toast.makeText(this, strSuccess, Toast.LENGTH_SHORT).show();

Toast.makeText(this, getString(R.string.save_success),Toast.LENGTH_SHORT).show();

Read more

相关问题