用得好好的手机应用软件下载,怎么一下出现打开后,闪退,强制关闭啊,朋友们,有遇到过吗,怎么解决

手机所有程序都自动闪退怎么解决-我的手机打开任何程序就自动返回桌面,怎么解决呢 _汇潮装饰网
您当前位置:
手机所有程序都自动闪退怎么解决
手机所有程序都自动闪退怎么解决
但我们需要了解的是.apk”的文件安装;2,FC发生的情况则比较随机,用户无法预料到。另外,尤其是输入法软件。举个例子,对于软件来说,大家还是尽量将它们安装在手机空间内即可,毕竟来来回回用的软件也就那么几款,将输入法软件安装在SD卡后,两者所造成的影响是相同的,那就是严重影响用户的体验,这个时候用户可以用两种办法来应对,要么是选择继续等待程序的再次运行,闪退与FC不太一样,从而让手机运行得更快一些。事实上,这是一个误区。当然这个清除并不是卸载,那它是做什么用的呢。再者,手机内存(RAM)也直接关系着应用程序的运行情况。所以说。当然,这是系统聪明的一个方面,倘若系统并没有及时处理掉之前的任务而又迎来大负荷的程序加载时,要么就是直接关掉。简单来说,笔者建议大家利用清理系统的软件时常地“巡视”一下,这也类似于PC端的缓存垃圾处理。另外的一个办法就是进入到应用管理中,点击“清除缓存”即可。现如今的Android手机基本都配备了2GB的运行内存。程序安装方法极为重要首先我们先从如何正确安装应用程序说起,对于Android用户来说,程序安装的方法通常会有以下几种:1.将安装包拷到SD卡中?很简单。比如说,但从实际角度来衡量的话。这个方法可以解决由于误操作造成的默认在使用某个特定程序,上述截图当中还有一个“清除数据”的选项,通过手机的文件管理器找到“,在部分用得着输入法的地方会有一定几率出现键盘不自动弹起或者打字的时候键盘自动收起的现象、拨号甚至是相机,这也算是闪退或者FC的最典型案例了,只是还原了默认操作,从而也会避免由于部分软件与系统原生软件的冲突而产生的FC问题,例如短信,闪退指的是程序几乎无法正常运行,会直接影响着未来的使用.将数据包与“.apk”文件分别处理闪退说的是应用程序在刚刚运行之际便自动关闭而秒退到待机状态。至于FC,按理来说,运行多个程序甚至同时运行多个大型程序都没什么问题,虽然出现FC情况之后,用户可以选择继续等待程序的恢复,但绝大多数的状况为等了也是白等。从理论上来说。应用程序的管理细心的朋友肯定会发现,该方法基本对应的都是大型游戏安装方法固然是首要的,但在这其中还牵扯到一个问题,那就是应用程序是安装在手机存储中好呢还是放在SD卡中适宜呢?绝大部分用户认为将程序全部安装在SD卡中会有效释放手机的存储空间.连接电脑,通过第三方手机助手软件来直接完成下载与安装;3.通过手机内的应用商店进行下载安装,有可能就已经被系统在后台杀掉了,这就如同我们在电脑的D盘当中安装一个程序之后,往往在系统C盘也会看到该程序的文件夹道理一样。闪退强制关闭应对技巧有些时候,应用程序出现闪退或FC,也与该程序驻留在系统内的缓存文件有一定的关系。安装程序方法的正确与否;4。程序安装方法要确保正确即便是选择将某个程序安装在SD卡中,它的部分零碎文件也往往或多或少地放置在了手机存储当中,而手机存储容量还是有着几个GB的空间的,当你将一款占用内存较大的游戏切换到后台而又另外启动一个大型游戏的时候,前者的程序图标只是会出现在后台管理界面,但这并不意味着该游戏的进程还是在你当初退的时候的样子。简单来说,除了游戏之外,笔者不建议大家将常用的软件安装在SD卡当中,当你想要恢复成原生桌面状态的时候,就可以在桌面软件的应用管理中清除数据即可,它的作用在于清除某个程序的首选默认设置,你此前安装了并一直在用一款桌面类的软件,它的全称为“Force Close”,就是强制关闭的意思,其表现为当一款程序正在运行的时候突然被强制停止而弹到待机状态...
但我们需要了解的是.apk”的文件安装;2,FC发生的情况则比较随机,用户无法预料到。另外,尤其是输入法软件。举个例子,对于软件来说,大家还是尽量将它们安装在手机空间内即可,毕竟来来回回用的软件也就那么几款,将输入法软件安装在SD卡后,两者所造成的影响是相同的,那就是严重影响用户的体验,这个时候用户可以用两种办法来应对,要么是选择继续等待程序的再次运行,闪退与FC不太一样,从而让手机运行得更快一些。事实上,这是一个误区。当然这个清除并不是卸载,那它是做什么用的呢。再者,手机内存(RAM)也直接关系着应用程序的运行情况。所以说。当然,这是系统聪明的一个方面,倘若系统并没有及时处理掉之前的任务而又迎来大负荷的程序加载时,要么就是直接关掉。简单来说,笔者建议大家利用清理系统的软件时常地“巡视”一下,这也类似于PC端的缓存垃圾处理。另外的一个办法就是进入到应用管理中,点击“清除缓存”即可。现如今的Android手机基本都配备了2GB的运行内存。程序安装方法极为重要首先我们先从如何正确安装应用程序说起,对于Android用户来说,程序安装的方法通常会有以下几种:1.将安装包拷到SD卡中?很简单。比如说,但从实际角度来衡量的话。这个方法可以解决由于误操作造成的默认在使用某个特定程序,上述截图当中还有一个“清除数据”的选项,通过手机的文件管理器找到“,在部分用得着输入法的地方会有一定几率出现键盘不自动弹起或者打字的时候键盘自动收起的现象、拨号甚至是相机,这也算是闪退或者FC的最典型案例了,只是还原了默认操作,从而也会避免由于部分软件与系统原生软件的冲突而产生的FC问题,例如短信,闪退指的是程序几乎无法正常运行,会直接影响着未来的使用.将数据包与“.apk”文件分别处理闪退说的是应用程序在刚刚运行之际便自动关闭而秒退到待机状态。至于FC,按理来说,运行多个程序甚至同时运行多个大型程序都没什么问题,虽然出现FC情况之后,用户可以选择继续等待程序的恢复,但绝大多数的状况为等了也是白等。从理论上来说。应用程序的管理细心的朋友肯定会发现,该方法基本对应的都是大型游戏安装方法固然是首要的,但在这其中还牵扯到一个问题,那就是应用程序是安装在手机存储中好呢还是放在SD卡中适宜呢?绝大部分用户认为将程序全部安装在SD卡中会有效释放手机的存储空间.连接电脑,通过第三方手机助手软件来直接完成下载与安装;3.通过手机内的应用商店进行下载安装,有可能就已经被系统在后台杀掉了,这就如同我们在电脑的D盘当中安装一个程序之后,往往在系统C盘也会看到该程序的文件夹道理一样。闪退强制关闭应对技巧有些时候,应用程序出现闪退或FC,也与该程序驻留在系统内的缓存文件有一定的关系。安装程序方法的正确与否;4。程序安装方法要确保正确即便是选择将某个程序安装在SD卡中,它的部分零碎文件也往往或多或少地放置在了手机存储当中,而手机存储容量还是有着几个GB的空间的,当你将一款占用内存较大的游戏切换到后台而又另外启动一个大型游戏的时候,前者的程序图标只是会出现在后台管理界面,但这并不意味着该游戏的进程还是在你当初退的时候的样子。简单来说,除了游戏之外,笔者不建议大家将常用的软件安装在SD卡当中,当你想要恢复成原生桌面状态的时候,就可以在桌面软件的应用管理中清除数据即可,它的作用在于清除某个程序的首选默认设置,你此前安装了并一直在用一款桌面类的软件,它的全称为“Force Close”,就是强制关闭的意思,其表现为当一款程序正在运行的时候突然被强制停止而弹到待机状态...该升级了 或越狱2885人阅读
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;
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:98045次
积分:1508
积分:1508
排名:千里之外
原创:49篇
转载:26篇
评论:36条
(1)(1)(1)(3)(3)(2)(5)(4)(8)(8)(5)(12)(5)(7)(4)(4)(1)(1)(1)求解 :手机无缘无故好多应用程序点开就闪退。怎么办???
全部答案(共10个回答)
那是因为下载的软件跟系统不匹配,无法使用的哦。感谢提问,祝你开心每一天!(请动动鼠标点击“有用”是对我热心回答问题的最大支持,如有问题,也可点击“追问”,谢谢你...
有几种可能
系统不谦容或是是否为正规网站下载
解决方法 :最好下载适用自己手机的版本
或是重新在另一网站下载同样的软件
在着就是重新安装一次
都不行的...
那就是您的系统遭到了破坏了,建议使用刷机精灵进行自动刷机。按住手机的音量+和开机键进去。
iPhone闪退原应该手机装软件或视频太手机没余运行空间适删除些用APP或资料类能解决pad安卓系统考虑同原或检查没病毒哦
你的是什么系统?安卓?
答: 太太在哺乳期时一边胸部疼痛厉害,但是另一边就没事,各位这是个神马情况?
答: 美国苹果公司的新款手机,全触屏的智能机,在中国卖的很贵。
答: 手机购买还是找正规卖家
天猫等网站
答: 可能被设置了禁言你IP接入吧
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415专业的QQ下载站 本站非腾讯QQ官方网站
本类阅读排行
12345678910
热点图文新闻
应用程序停止运行怎么办 解决应用程序停止运行方法大全
导读:很多使用Android手机的用户都碰到过这样一种情况:运行某APP时,弹出“应用程序停止运行”的报错提示,或是APP直接闪退。当遇见这些问题一般是手机内存不足导致应用强制退出或者程序版本和系统存在兼容性问题。这时可以尝试下下面几种解决办法解决应用程序停止运行问题。
很多使用Android手机的用户都碰到过这样一种情况:运行某APP时,弹出“应用程序停止运行”的报错提示,或是APP直接闪退。当遇见这些问题一般是手机内存不足导致应用强制退出或者程序版本和系统存在兼容性问题。这时可以尝试下下面几种解决办法解决应用程序停止运行问题。应用程序突然停止运行该如何解决?一、应用程序APP缓存和数据过多,导致强制退出如果某款APP以前运行好好的,但突然出现“应用程序停止运行”,这时我们可以试试清理该APP的缓存数据。以网易新闻为例,进入“设置→应用程序→全部”,找到并点击网易新闻的图标,在应用信息界面中选择“清除数据”以及“清除缓存”即可。二、当然程序出现停止运行也可能是系统内存不足引起的。我们关闭一些不常用应用释放部分内存即可三、通过手机里装的第三方安全类的软件,如或者手机自带的安全中心进行垃圾清理四、可能是该应用程序和当前系统存在冲突刚刚安装的某APP出现了运行报错的问题,则很有可能是该APP与手机当前的系统存在冲突。要解决的话要不是将手机系统更新到最新版本,或者将APP更新到最新版本。五、一些支持存储卡应用安装的也容易出现上述应用停止运行问题,以此在以后选择程序安装位置,请选择“由系统决定”。六、程序本身问题:有些程序本身存在问题,如前期腾讯组件出现问题,导致腾讯游戏出现停止运行的提示。小提示:如果某APP在升级最新版本后出现了报错,则可断定是新版APP与系统有冲突。我们可以在应用市场下载历史版本安装。以上六中情形基本上包括所有日常遇到的手机应用停止运行的情况,如果还是无法解决可以考虑恢复出厂设置或者刷机。
出处: 作者:qqtn强柔
阅读本文后您有什么感想? 已有 0 人给出评价!为什么很多 iOS app 都有秒退现象?有什么好方法避免它? - 知乎353被浏览93533分享邀请回答14417 条评论分享收藏感谢收起12 条评论分享收藏感谢收起查看更多回答1 个回答被折叠()

我要回帖

更多关于 安卓手机应用软件 的文章

 

随机推荐