dnf闪退怎么解决在解决了吗

软件闪退怎么解决?_百度知道
软件闪退怎么解决?
我有更好的答案
软件的兼容问题,不支持,即使安装了运行不了。
移至手机系统内存
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。闪退_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
闪退,多指在移动设备(如、Android设备)中,在打开应用程序时出现的突然退出中断的情况(类似于Windows的应用程序崩溃)。多表现为:应用程序画面一闪而过,随即退回到桌面。
应用程序出现闪退,可能有以下原因:
1、应用程序自身漏洞:开发的应用程序代码存在缺陷,造成大多数设备在运行该程序时会出现闪退的情况。这种情况需要开发者进行解决。
2、设备问题:
设备问题主要包括:系统固件版本不支持、系统配置(CPU、RAM等)不支持。这种情况表现为部分设备能正常运作该程序,而其他设备会闪退。例如:iOS上最新版的在iPhone/iTouch1代上运行就会出现闪退的情况,而在iPhone4上则可以完美运行。
闪退解决方法
就是Apple ID的问题!我同步程序是在我自己的电脑上同步的,那个itunes上是我自己的Apple ID登录下载了很多免费程序的,在那之后我在另外一台电脑上同步了歌曲,这台电脑没有登录任何Apple ID,同步之后就出现了闪退现象,所以闪退就是账户问题引起的,应该在iPad里用我最初同步程序的账户(Apple ID)登录一遍就好了,我就在“设置”—&“store ”里输入邮箱、密码重新登录了一遍,就一切正常了!哪怕我登陆之后在iPad里再把账户注销了,也一切正常,没有再出现闪退现象。
如果不是在苹果官方商店下载的软件(越狱后下载),可能被官方“封杀”,从iTools/同步推下载的软件请使用闪退修复工具/正版授权修复
清除历史记录关闭6151人阅读
Android 性能优化(3)
Android中处理崩溃闪退异常
大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开发者分析和调试程序。
我们先建立一个crash项目,项目结构如图:
在MainActivity.java代码中,代码是这样写的:
package com.scott.
import android.app.A
import android.os.B
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println(s.equals("any string"));
我们在这里故意制造了一个潜在的运行期异常,当我们运行程序时就会出现以下界面:
遇到软件没有捕获的异常之后,系统会弹出这个默认的强制关闭对话框。
我们当然不希望用户看到这种现象,简直是对用户心灵上的打击,而且对我们的bug的修复也是毫无帮助的。我们需要的是软件有一个全局的异常捕获器,当出现一个我们没有发现的异常时,捕获这个异常,并且将异常信息记录下来,上传到服务器公开发这分析出现异常的具体原因。
接下来我们就来实现这一机制,不过首先我们还是来了解以下两个类:
android.app.Application 和 java.lang.Thread.UncaughtExceptionHandler。
Application:用来管理应用程序的全局状态。在应用程序启动时Application会首先创建,然后才会根据情况(Intent)来启动相应的Activity和Service。本示例中将在自定义加强版的Application中注册未捕获异常处理器。
Thread.UncaughtExceptionHandler:线程未捕获异常处理器,用来处理未捕获异常。如果程序出现了未捕获异常,默认会弹出系统中强制关闭对话框。我们需要实现此接口,并注册为程序中默认未捕获异常处理。这样当未捕获异常发生时,就可以做一些个性化的异常处理操作。
大家刚才在项目的结构图中看到的CrashHandler.java实现了Thread.UncaughtExceptionHandler,使我们用来处理未捕获异常的主要成员,代码如下:
package com.scott.
import java.io.F
import java.io.FileOutputS
import java.io.PrintW
import java.io.StringW
import java.io.W
import java.lang.Thread.UncaughtExceptionH
import java.lang.reflect.F
import java.text.DateF
import java.text.SimpleDateF
import java.util.D
import java.util.HashM
import java.util.M
import android.content.C
import android.content.pm.PackageI
import android.content.pm.PackageM
import android.content.pm.PackageManager.NameNotFoundE
import android.os.B
import android.os.E
import android.os.L
import android.util.L
import android.widget.T
* UncaughtException处理类,当程序发生Uncaught异常的时候,有该类来接管程序,并记录发送错误报告.
public class CrashHandler implements UncaughtExceptionHandler {
public static final String TAG = "CrashHandler";
private Thread.UncaughtExceptionHandler mDefaultH
private static CrashHandler INSTANCE = new CrashHandler();
private Context mC
private Map&String, String& infos = new HashMap&String, String&();
private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
/** 保证只有一个CrashHandler实例 */
private CrashHandler() {
/** 获取CrashHandler实例 ,单例模式 */
public static CrashHandler getInstance() {
return INSTANCE;
public void init(Context context) {
mContext =
mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(this);
* 当UncaughtException发生时会转入该函数来处理
public void uncaughtException(Thread thread, Throwable ex) {
if (!handleException(ex) && mDefaultHandler != null) {
mDefaultHandler.uncaughtException(thread, ex);
Thread.sleep(3000);
} catch (InterruptedException e) {
Log.e(TAG, "error : ", e);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(1);
* 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.
* true:如果处理了该异常信息;否则返回false.
private boolean handleException(Throwable ex) {
if (ex == null) {
return false;
new Thread() {
public void run() {
Looper.prepare();
Toast.makeText(mContext, "很抱歉,程序出现异常,即将退出.", Toast.LENGTH_LONG).show();
Looper.loop();
}.start();
collectDeviceInfo(mContext);
saveCrashInfo2File(ex);
return true;
* 收集设备参数信息
public void collectDeviceInfo(Context ctx) {
PackageManager pm = ctx.getPackageManager();
PackageInfo pi = pm.getPackageInfo(ctx.getPackageName(), PackageManager.GET_ACTIVITIES);
if (pi != null) {
String versionName = pi.versionName == null ? "null" : pi.versionN
String versionCode = pi.versionCode + "";
infos.put("versionName", versionName);
infos.put("versionCode", versionCode);
} catch (NameNotFoundException e) {
Log.e(TAG, "an error occured when collect package info", e);
Field[] fields = Build.class.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
infos.put(field.getName(), field.get(null).toString());
Log.d(TAG, field.getName() + " : " + field.get(null));
} catch (Exception e) {
Log.e(TAG, "an error occured when collect crash info", e);
* 保存错误信息到文件中
返回文件名称,便于将文件传送到服务器
private String saveCrashInfo2File(Throwable ex) {
StringBuffer sb = new StringBuffer();
for (Map.Entry&String, String& entry : infos.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
sb.append(key + "=" + value + "\n");
Writer writer = new StringWriter();
PrintWriter printWriter = new PrintWriter(writer);
ex.printStackTrace(printWriter);
Throwable cause = ex.getCause();
while (cause != null) {
cause.printStackTrace(printWriter);
cause = cause.getCause();
printWriter.close();
String result = writer.toString();
sb.append(result);
long timestamp = System.currentTimeMillis();
String time = formatter.format(new Date());
String fileName = "crash-" + time + "-" + timestamp + ".log";
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
String path = "/sdcard/crash/";
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
FileOutputStream fos = new FileOutputStream(path + fileName);
fos.write(sb.toString().getBytes());
fos.close();
return fileN
} catch (Exception e) {
Log.e(TAG, "an error occured while writing file...", e);
return null;
在收集异常信息时,朋友们也可以使用Properties,因为Properties有一个很便捷的方法properties.store(OutputStream out, String comments),用来将Properties实例中的键值对外输到输出流中,但是在使用的过程中发现生成的文件中异常信息打印在同一行,看起来极为费劲,所以换成Map来存放这些信息,然后生成文件时稍加了些操作。
完成这个CrashHandler后,我们需要在一个Application环境中让其运行,为此,我们继承android.app.Application,添加自己的代码,CrashApplication.java代码如下:
package com.scott.
import android.app.A
public class CrashApplication extends Application {
public void onCreate() {
super.onCreate();
CrashHandler crashHandler = CrashHandler.getInstance();
crashHandler.init(getApplicationContext());
最后,为了让我们的CrashApplication取代android.app.Application的地位,在我们的代码中生效,我们需要修改AndroidManifest.xml:
&application android:name=".CrashApplication" ...&
&/application
因为我们上面的CrashHandler中,遇到异常后要保存设备参数和具体异常信息到SDCARD,所以我们需要在AndroidManifest.xml中加入读写SDCARD权限:
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&
搞定了上边的步骤之后,我们来运行一下这个项目:
看以看到,并不会有强制关闭的对话框出现了,取而代之的是我们比较有好的提示信息。
用文本编辑器打开SD卡中的日志文件,看一段日志信息:
CPU_ABI=armeabi
CPU_ABI2=unknown
MANUFACTURER=unknown
BRAND=generic
Caused by: java.lang.NullPointerException
at com.scott.crash.MainActivity.onCreate(MainActivity.java:13)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
... 11 more
这些信息对于开发者来说帮助极大,所以我们需要将此日志文件上传到服务器,有关文件上传的技术,请参照Android中使用HTTP服务相关介绍。
不过在使用HTTP服务之前,需要确定网络畅通,我们可以使用下面的方式判断网络是否可用:
* 网络是否可用
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager mgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info = mgr.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i & info. i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
return false;永远的7日之都闪退怎么处理 手机闪退处理办法
本文导航第1页:第3页:第2页:(二)
永远的7日之都手游部分手机闪退问题的处理公告
尊敬的各位指挥使:
关于部分手机频繁出现闪退的问题,技术人员已经进行了初步修复。
如果指挥使们进入游戏后,仍出现闪退,可以通过操作&设置-应用-永远的7日之都-清除缓存&,或是重新安装游戏来进行规避。
给各位带来不便恳请谅解,今晚我们会针对此发放补偿。
祝大家游戏愉快!
《永远的7日之都》施工队
(责任编辑:)
关注“蚕豆网”微信公众账号
最新鲜的手游资讯,最麻辣的游戏测评,最全面的游戏攻略,还有那领不完的游戏礼包和最绿色的游戏下载,要啥有啥,应有尽有。
蚕豆网好游多
集游戏攻略、热门礼包为一体,为游戏玩家量身定做的手机游戏小伙伴!
如果你是第五人格玩家,那么肯定很是关心第五人格4月26日更新内容大全汇总,因此下面就来为各位讲解一下4月...[]
许多的玩家都很关心第五人格4月26日更新了什么内容,所以下面就来为各位讲解一下,希望各位介绍一下第五人...[]
许多的吃瓜群众都很是关心绝地求生澳洲邀请赛在哪直播,毕竟这个当前的赛事的确很是令人关心,因此下面就为...[]
第五人格黑白无常怎么样,刚刚曝光的一个监管者,那么第五人格黑白无常有什么技能呢?下面就跟随小编一起来...[]
作为吃鸡玩家肯定很是关心绝地求生刺激战场第一人称和第三人称区别对比分析,毕竟这个对咱们的帮助的确有不...[]
如果你想搞清楚绝地求生刺激战场服饰币怎么获得最快以及有什么作用的话,那么服饰币快速获得方法大全是肯定...[]
许多的玩家都非常关心绝地求生刺激战场第一人称视角和第三人称视角区别细节对比,毕竟搞清楚后咱们肯定也能...[]
绝地求生刺激战场第一人称和第三人称视角哪个好/有什么区别不同?绝地求生刺激战场新增了一个第一人称视角...[]
游戏类型:
剩余数量:
游戏类型:
剩余数量:
游戏类型:
剩余数量:(纠结症患者)
(给我一个眼刀?)
(你的微笑养乐多)
第三方登录:}

我要回帖

更多关于 王者荣耀闪退怎么解决 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信