在项目开发,通过延时载入来实现满足我们的项目要求。那究竟如何来实现延时。以下结合java与android的相关方法来实现延时问题。

一.利用线程的Sleep方法

<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="white-space:pre">		</span>new Thread(new Runnable(){

			@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(1000);
myHandler.sendEmptyMessage(what);//处理主线程方法
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});</span>

二. 利用Timer和TimerTask延时器

<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="white-space:pre">		</span>// 1.实例化Timer
Timer timer = new Timer();
// 2.实例化TimerTask
TimerTask timerTask = new TimerTask() { @Override
public void run() {
// TODO Auto-generated method stub }
};
// 3.启动定时器
/**
* task: the task to schedule.
* delay: amount of time in milliseconds before first execution.
* period: amount of time in milliseconds between subsequent executions
*/
timer.schedule(timerTask, delay, period); // 4.关闭定时器
if (timerTask != null) {
timerTask.cancel();
timerTask = null;
} // 5.又一次开启定时器,须要又一次实例化 timerTask = new TimerTask() { @Override
public void run() {
// TODO Auto-generated method stub }
};
timer.schedule(timerTask, delay, period);</span>

3.利用android自带的Handler消息处理

<span style="font-family:Microsoft YaHei;font-size:18px;">		/**
* delayMillis:The delay (in milliseconds) until the Runnable will be executed.
*/
new Handler().postDelayed(new Runnable(){ @Override
public void run() {
// TODO Auto-generated method stub } }, delayMillis);</span>

4.SchduleExecutorService接口处理延时 迭代

<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="white-space:pre">		</span>/**
* ScheduledExecutorService提供了按时间安排运行任务的功能,它提供的方法主要有:
* schedule(task,initDelay):安排所提交的Callable或Runnable任务在initDelay指定的时间后运行。
* scheduleAtFixedRate():安排所提交的Runnable任务按指定的间隔反复运行
* scheduleWithFixedDelay():安排所提交的Runnable任务在每次运行完后,等待delay所指定的时间后反复运行。
*
* initialDelay: the time to delay first execution
* period: the period between successive executions
* unit: the time unit of the initialDelay and period parameters
*/
//1.实例化
ScheduledExecutorService schedule = Executors.newScheduledThreadPool(2);
//2.开启定时 循环迭代处理
schedule.scheduleAtFixedRate(new Runnable(){ @Override
public void run() {
// TODO Auto-generated method stub } }, initialDelay, period, unit);
//3.关闭
if(schedule != null){
schedule.shutdown();
schedule = null;
}</span>

版权声明:本文博主原创文章,博客,未经同意不得转载。

Android处理延迟加载的方法的更多相关文章

  1. 【Android】一种提高Android应用进程存活率新方法

    [Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...

  2. Android经典完美退出方法

    Android经典完美退出方法,使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activit ...

  3. Android获取系统时间方法的总结

    Android获取系统时间方法的方法有很多种,常用的有Calendar.Date.currentTimeMills等方法. (1)Calendar Calendar获取系统时间首先要用Calendar ...

  4. 删除Android自带软件方法及adb remount 失败解决方案

    删除Android自带软件方法 1.在电脑上打开cmd,然后输入命令 adb remount adb shell su 2.接着就是Linux命令行模式了,输入 cd system/app 3然后输入 ...

  5. PhoneGap 在 Android 上的插件开发方法介绍

    移动应用开发已经成为软件开发的一个重要方向,但是移动开发面临的一个重要问题就是跨平台的问题.PhoneGap 作为一个多平台的软件开发框架,提供了一次编写多个平台的运行.目前已经支持多达 6 个移动平 ...

  6. Android之完美退出方法

    为什么要写这篇文章? 网上有很多种退出方法,可实际上很多方法都不通用(在某个版本下可用,到了另一个版本就不行),或者方法的实际效果根本就和其描述不符(也不知道那些发帖的人测没测试过). 但我们的需求又 ...

  7. (转)Android之常用功能方法大集合

    这些,都是Andorid中比较常用的方法和功能,在网上搜集整理一下记录之,以备不时之需.由于经过多次转载,源文作者不确凿,在此申明,敬请见谅.不得不赞,非常实用. 1.判断sd卡是否存在 boolea ...

  8. android view的setVisibility方法值的意思

    android view的setVisibility方法值的意思 有三个值 visibility  One of VISIBLE, INVISIBLE, or GONE. 常量值为0,意思是可见的 常 ...

  9. Eclipse导入Android项目的正确方法

    转自Eclipse导入Android项目的正确方法 看网上流传的Eclipse导入项目的方法都是在新建Android程序时使用"Create project form existing so ...

随机推荐

  1. Spring Security 3.2.x与Spring 4.0.x的Maven依赖管理

    原文链接: Spring Security with Maven原文日期: 2013年04月24日翻译日期: 2014年06月29日翻译人员: 铁锚 1. 概述 本文通过实例为您介绍怎样使用 Mave ...

  2. android开机启动应用和服务

    注冊广播监听开机状态.启动应用和服务等: 监听开机的广播接收器: public class BootCompletedReceiver extends BroadcastReceiver{ @Over ...

  3. 从零開始学android&lt;ImageSwitcher图片切换组件.二十六.&gt;

    ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候.能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够 ...

  4. windows phone (12) 小试自定义样式

    原文:windows phone (12) 小试自定义样式 样式在BS开发中经常用到,在wp中系统也提供了解决办法,就是对设置的样式的一种资源共享,首先是共享资源的位置,它是在App类中,之前我们已经 ...

  5. PyUnit框架学习

    http://www.oschina.net/question/12_27127#INSTALL http://www.360doc.com/content/11/0606/23/54470_1221 ...

  6. 飘逸的python - 保持命名空间的整洁

    API的设计是一个艺术活.往往需要其简单.易懂.整洁.不累赘. 很多时候,我们在底层封装一个方法给高层用,而其它的方法只是为了辅助这个方法的. 也就是说我们只需要暴露这个方法就行,不用关心这个方法是怎 ...

  7. 和学生探讨吉林大学python问题

    学生们真的很强大,我知道玩微信,nodejs.... 我们去学校了解.当时互联网开始64K....

  8. Java 执行四则运算

    四种基本的操作原理是将被转换成后缀缀表达式表达.然后计算. 转换思路和原则.可以参考将中缀表达式转化为后缀表达式 import java.math.BigDecimal; import java.ut ...

  9. java线程池的注意事项

    java线程池是建立一个技术进步的线程.到来之前线程池打造一批在线程的线程尚未,队列上的备用,然后再利用这些资源.减少频繁创建和销毁对象, 1.jdk1.5以上提供了现成的线程池 2.java线程池的 ...

  10. BC 2015在百度之星程序设计大赛 - 预赛(1)(系列转换-二分法答案贪婪)

    系列转换 Accepts: 816 Submissions: 3578 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 ...