在Java 的异常处理机制中:如果抛出的是Exception异常的话,必须有try..catch..进行处理,属于checked exception.如果抛出的是RuntimeException异常的话,则不是必须进行try..catch..异常处理,发生异常之后将由JVM进行处理,属于unchecked exception.注意:为了保证程序的健壮性,建议抛出RunntimeException异常,也使用try..catch..进行处理. 这两者最本质的区别在于设计者认为使用者是否能够并且应该…
Android系统的“程序异常退出”,给应用的用户体验造成不良影响.为了捕获应用运行时异常并给出友好提示,便可继承UncaughtExceptionHandler类来处理.通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可. 1.异常处理类,代码如下: public class CrashHandler implements UncaughtExceptionHandler { public static final Str…
public void uncaughtException(Thread thread, Throwable ex) { //处理异常 Log.e("崩溃",thread.getName()+ex.toString()); //发送到服务器 //dialog提醒 } 重写Application的onTerminate() 关闭整个程序后做的来操作:…
最近在做个项目,需要在程序出现运行时异常和错误导致程序crash时进行一些操作,找到一个方法 Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {// 给主线程设置一个处理运行时异常的handler public void uncaughtException(Thread thread, final Throwable ex) { ex.printStackTrace(); //当程序出现crash时…
Android Crash 全局捕获 首先应该明白的一点是,Android在崩溃后会重新启动崩溃时的那个Activity,如果你的Activity在初始化的时候就直接崩溃,那么你将连续得到 Crash 崩溃日志.这个说出来可能没什么,可怜的我在看到崩溃日志时活脱脱的以为 uncaughtException(Thread thread, Throwable ex) 方法被调用了两次.知道原因后就很好解决,在崩溃时把 Activity 栈清空就可以. 1. UncaughtExceptionHand…
PS:本文摘抄自<Android高级进阶>,仅供学习使用 Java API提供了一个全局异常捕获处理器,Android引用在Java层捕获Crash依赖的就是Thread.UncaughtExceptionHandler处理器接口,通常情况下,我们只需要实现这个接口,并重写其中的uncaughtException方法,在该方法中可以读取Crash的堆栈信息,语句如下: public class MyUncaughtExceptionHandler implements Thread.Uncau…
Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程 一.捕获异常并重新启用线程 public class Testun { public static void main(String[] args) throws InterruptedException { Thread thread=new TaskThread(1); thread.setName("thread-数据同步线程"); thread.start(); } } class T…
public class CrashHandler implements UncaughtExceptionHandler { private static CrashHandler instance;   public static final String TAG = "CrashHandler";   private static final String VERSION_NAME = "versionName";   private static final…
有没有发生过这样的情况,你写的工作线程莫名其妙的挂了,如果不是被你刚好看到,拿只能抓瞎了,不知道啥原因了,因为异常的时候只会把stack trace打在控制台上,不会记在你想记得错误日志里,头皮都抓破了也没能找到确切的地方,最后只能在能加try catch 的地方都给加上. Java的异常可以分为这两类,Checked Exceptions和Unchecked Exceptions. checked exception例子FileNotFoundException,IOException,...…
网上总是说Runable和Thread可以实现线程,这导致我对Thread和Runable有错误的理解,谁让当时不求甚解,让我一直以为实现Runable可以开启线程. 看过源码后进行区分这两者. 无论怎么样,线程都是通过Thread创建的. 其一:Runable只是一个接口,不会开启一个线程,依旧是运行在UI线程中. public interface Runnable { /** * Starts executing the active part of the class' code. Thi…
1. 线程Thread 2. 异步任务AsyncTask ------------------------------------------------- ------------------------------------------------- 1. 线程Thread 在APK开启后,就会有一个主线程,负责与用户交互.如果在主线程中执行了耗时操作,那么界面就会停止响应,所以要将耗时操作转移到别的线程中 2. 异步任务AsyncTask 耗时任务不能再UI主线程中执行,异步任务使用As…
Thread官方说明 https://developer.android.google.cn/reference/java/lang/Thread Thread是程序中执行的线程.Java虚拟机允许应用程序同时运行多个执行线程. 每个线程都可设置优先级别.优先级别高的线程优先于优先级别低的线程执行.线程可能是守护进程(Daemon),也可能是非守护进程(Non-daemon).当在某个线程的代码中创建一个新的Thread对象时,新线程的优先级初始设置等于创建线程的优先级,并且当且仅当创建线程是守…
extends:http://blog.csdn.net/superjunjin/article/details/7540064 序效果:为了显示如何用message传值的简单例子 例1,点击按钮,持续显示当前系统时间(bundle传值,耗时,效率低) 例2,点击按钮,progressbar持续前进(message方法传值,效率高,但只能传整型int和对象object) 例1,主activity  package com.song; import java.text.SimpleDateForm…
原文链接: http://blog.csdn.net/boyupeng/article/details/6208072 这篇文章中有三点需要提前说明一下, 一: 在android中有两种实现线程thread的方法: 一种是,扩展java.lang.Thread类 另一种是,实现Runnable接口 二:Thread类代表线程类,它的两个最主要的方法是: run()——包含线程运行时所执行的代码 Start()——用于启动线程 三: Handler 机制,它是Runnable和Activity交互…
原因:工程使用了系统库libstagefright.so,而该库是Android系统用no-rtti方式编译出来的,因此我们的工程也必须要用no-rtti方式编译. 解决方法:在Application.mk中,将 APP_CPPFLAGS := -frtti 改为 APP_CPPFLAGS := -fno-rtti(Android默认使用-frtti模式编译,必须强制改变)…
1.Thread的三种形式 第一种: class MyThread extends Thread{ @Override public void run(){ Log.d("MainActivity","i am MyThread"); } } 运行: // 启动线程 new MyThread().start(); 第二种: class MyThread1 implements Runnable{ @Override public void run() { Log.d…
public class test { public static void main(String[] args){ Thread thread = new Thread(new MyThread()); thread.setUncaughtExceptionHandler((Thread t,Throwable e)->{ System.out.println("出现异常"); System.out.println("线程名称:" + t.getName(…
Thread.setDaemon的用法,经过学习以后了解: 1. setDaemon需要在start方法调用之前使用 2. 线程划分为用户线程和后台(daemon)进程,setDaemon将线程设置为后台进程 3. 如果jvm中都是后台进程,当前jvm将exit.(随之而来的,所有的一切烟消云散,包括后台线程啦) 4. 主线程结束后, 1) 用户线程将会继续运行 2) 如果没有用户线程,都是后台进程的话,那么jvm结束 另外: setDaemon方法把java的线程设置为守护线程,此方法的调用必…
http://www.cnblogs.com/devinzhang/archive/2012/01/11/2319433.html (zhuan)…
物理回退按钮默认情况下是finish当前activity,返回上一个activity 当需要获取物理回退按钮的相应事件时候,可以这么做 步骤如下: 1.override当前activity的onKeyDown方法 2.判断是否为回退操作 3.根据需求添加代码 @Override public boolean onKeyDown(int keyCode,KeyEvent event) { // 如果是物理返回按键 if (keyCode == KeyEvent.KEYCODE_BACK &&…
目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他 Android开源项目第二篇——工具库篇   包括依赖注入.图片缓存.网络相关.数据库ORM工具包.Androi…
原文地址 http://blog.csdn.net/luo15309823081/article/details/41449929 点击可到达github-------https://github.com/Trinea/Android-open-project 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipVie…
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:http://blog.csdn.net 今天在看博客的时候,无意中发现了 @Trinea在GitHub上的一个项目 Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫的界面特效设计.个性化控件.工具库.优秀的Android开源项目.…
主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style等等. 一.ListView android-pulltorefresh一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView.ViewPager.…
今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫的界面特效设计.个性化控件.工具库.优秀的 Android开源项目.开发测试工具.优秀个人和团体等.可以这样说,每一位Andorid开发人员都能从中找到一个或多个适用自己项目的解决方案,消 化吸收并加以利用,可以为自己的APP增色不少.文章最后还列出了部分国外著名Android开发者的信息,包括Gi…
Android 开源项目分类汇总(转) ## 第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style 等等. #### 一.ListView1. android-pulltore…
Android 开源项目分类汇总 Android 开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他Android 开源项目第二篇——工具库篇  包括依赖注入.图片缓存.网络请求.数据库 OR…
ThumbnailUtils.extractThumbnail(bitmap, width, height); 压缩图片到指定大小的方法,以前都是一次次的createbitmap,然后用matrix去缩放,麻烦死了. 1.Throwable类中的getStackTrace()方法,根据这个方法可以得到函数的逐层调用地址,其返回值为StackTraceElement[]: 2.StackTraceElement类,其中四个方法getClassName(),getFileName(),getLine…
目前包括: Android开源项目第一篇--个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他 Android开源项目第二篇--工具库篇   包括依赖注入.图片缓存.网络相关.数据库ORM工具包.Androi…