Android 中延迟执行的小结

一、开启新线程

new Thread(new Runnable(){  

    public void run(){
        Thread.sleep(XXXX);
        handler.sendMessage();----告诉主线程执行任务
    }
}).start

  

二、利用定时器

TimerTask task = new TimerTask(){
    public void run(){
    //execute the task
    }
};
Timer timer = new Timer();
timer.schedule(task, delay);

  

三、handler + postDelayed

new Handler().postDelayed(new Runnable(){
    public void run() {
    //execute the task
    }
 }, delay);

  

四、利用AlarmManager,特点时刻广播指定意图 能实现,一般的简单任务不这么做。

注意:不要直接在代码中用  Thread.sleep();这个方法是让当前线程延迟,不符合延迟特定代码的需求。

时间: 2024-10-12 20:11:08

Android 中延迟执行的小结的相关文章

android中延迟执行某个任务(基础备用)

android中延迟执行某个任务android App开发在某些情况下需要有延时功能,比如说App首页显示定格3秒,然后自动跳到登录页的情况,这就好比是一个预加载,但是这个预加载可能瞬间就完成了,撑不到3秒钟,这是就要求你做延时处理. 下面是三种方法: 一.线程    new Thread(new Runnable(){          public void run(){              Thread.sleep(XXXX);              handler.sendMe

android中延迟执行某个任务

android App开发在某些情况下需要有延时功能,比如说App首页显示定格3秒,然后自动跳到登录页的情况,这就好比是一个预加载,但是这个预加载可能瞬间就完成了,撑不到3秒钟,这是就要求你做延时处理. 下面是三种方法: 一.线程 1. new Thread(new Runnable(){ 2. public void run(){ 3. Thread.sleep(XXXX); 4. handler.sendMessage();----告诉主线程执行任务 5. } 6. }).start 二.延

Android 中延时执行的几种方法

延时执行的方法主要有: 1.开启新线程:2.利用定时器:3.消息处理:4.利用AlarmManager 一.开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主线程执行任务 } }).start 二.利用定时器 TimerTask task = new TimerTask(){ public void run(){ //execute the tas

Android中Activity执行restart过程中涉及到的四种数据存储恢复的方法

我们知道,当Configuration Change发生的时候(比如横竖屏切换等),会导致Activity重启,即先destroy,然后会restart,一般情况下restart的时间比较短,为了保证一致的用户体验,我们应该在Activity重启前将一些数据存储下来,然后在restart的时候重新根据这些数据更新UI.当然你可能想将这些数据写到物理文件或数据库中,但是这样有缺点,因为IO操作时耗时操作,会影响restart的过程,甚至导致ANR程序无响应,本文将介绍几种将数据缓存在内存中以便re

IOS中延迟执行的几种方法

前几天去国美在线面试,就遇到了上面的问题,当时是笔试,只写出来了第一种方法,现在整理了一下. //1.performSelector方法:在当前线程中执行的方法,使用默认模式,并延迟执行@selector方法. [self performSelector:@selector(runDelayMethod) withObject:nil afterDelay:2.0]; //取消之前注册的performSelector:withObject:afterDelay:这个方法 //[NSObject

穿越之旅之--android中如何执行java命令

android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建hello.java文件,编写如下代码: public static class hel

android中如何执行java命令

android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候写得那个hello world,这次要在android上运行. 用记事本新建hello.java文件,编写如下代码: public static class hell

iOS中延迟执行的几种方式

- 1.使用NSThread类 [NSThread sleepForTimeInterval:3]; 该方法会阻塞当前线程 -2.使用NSObject中的方法 [self performSelector:@selector(download:) withObject:sender afterDelay:timeDelay]; 该方法不会阻塞当前线程,在当前线程执行selector -3.使用gcd 在主线程或由全局队列上的线程异步延迟回调block dispatch_queue_t queue

Android系统篇之----Android中的run-as命令引出升降权限的安全问题(Linux中的setuid和setgid)

一.前言 最近一周比较忙,没时间写东西了,今天继续开始我们今天的话题:run-as命令,在上周的开发中,遇到一个问题,就是在使用run-as命令的时候出现了一个错误,不过当时因为工作进度的问题,这问题就搁浅没有解决,用了其他一个曲线救国的方式去解决的.那么咋们今天闲来说说Android中的run-as命令吧. 二.遇到的问题&解决问题 Android中我们知道如果设备没有root,我们想看一个应用的沙盒数据(/data/data/目录内容),在以前的方式很难办到,一般人都是选择root之后,去查