为什么libcore.io.ErrnoException:kill失败:在android中ESRCH(没有这样的过程)?

这是我正在使用的以下代码
try {
Runtime rnTm=Runtime.getRuntime();
Process execLang = rnTm.exec(new String[]{"getprop","persist.sys.language"});
mCurrLocale = new BufferedReader(new InputStreamReader (execLang.getInputStream())).readLine();
execLang.destroy();
Process execCountry = rnTm.exec(new String[]{"getprop","persist.sys.country"});
mCurrCountry = new BufferedReader(new InputStreamReader    (execCountry.getInputStream())).readLine();
execLang.destroy();
Log.e("","Device locale: "+mCurrLocale+" Co:"+mCurrCountry);
} catch (IOException e) {
 e.printstacktrace();
 return;
 }
catch (SecurityException se) {
    se.printstacktrace();
return;

}

It's working fine some phones and tablet.

但有一段时间它导致我的应用程序冻结并在logcat中给出以下结果.

I/System  ( 1511): Failed to destroy process 1547
I/System  ( 1511): libcore.io.ErrnoException: kill Failed: ESRCH (No such process)
I/System  ( 1511):      at libcore.io.Posix.kill(Native Method)
I/System  ( 1511):      at libcore.io.ForwardingOs.kill(ForwardingOs.java:77)
I/System  ( 1511):      at      java.lang.ProcessManager$ProcessImpl.destroy(ProcessManager.java:257)

有什么解决方案吗?

解决方法

如果它在某些设备上运行而在其他设备上运行则意味着您必须在异常中捕获它并使程序保持静.

我建议在你的代码下面添加一个带有泛型异常的catch:

catch (Exception ge) {
 ge.printstacktrace();
 return;
 }

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...