Android处理延迟加载的方法
在项目开发,通过延时载入来实现满足我们的项目要求。那究竟如何来实现延时。以下结合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处理延迟加载的方法的更多相关文章
- 【Android】一种提高Android应用进程存活率新方法
[Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...
- Android经典完美退出方法
Android经典完美退出方法,使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activit ...
- Android获取系统时间方法的总结
Android获取系统时间方法的方法有很多种,常用的有Calendar.Date.currentTimeMills等方法. (1)Calendar Calendar获取系统时间首先要用Calendar ...
- 删除Android自带软件方法及adb remount 失败解决方案
删除Android自带软件方法 1.在电脑上打开cmd,然后输入命令 adb remount adb shell su 2.接着就是Linux命令行模式了,输入 cd system/app 3然后输入 ...
- PhoneGap 在 Android 上的插件开发方法介绍
移动应用开发已经成为软件开发的一个重要方向,但是移动开发面临的一个重要问题就是跨平台的问题.PhoneGap 作为一个多平台的软件开发框架,提供了一次编写多个平台的运行.目前已经支持多达 6 个移动平 ...
- Android之完美退出方法
为什么要写这篇文章? 网上有很多种退出方法,可实际上很多方法都不通用(在某个版本下可用,到了另一个版本就不行),或者方法的实际效果根本就和其描述不符(也不知道那些发帖的人测没测试过). 但我们的需求又 ...
- (转)Android之常用功能方法大集合
这些,都是Andorid中比较常用的方法和功能,在网上搜集整理一下记录之,以备不时之需.由于经过多次转载,源文作者不确凿,在此申明,敬请见谅.不得不赞,非常实用. 1.判断sd卡是否存在 boolea ...
- android view的setVisibility方法值的意思
android view的setVisibility方法值的意思 有三个值 visibility One of VISIBLE, INVISIBLE, or GONE. 常量值为0,意思是可见的 常 ...
- Eclipse导入Android项目的正确方法
转自Eclipse导入Android项目的正确方法 看网上流传的Eclipse导入项目的方法都是在新建Android程序时使用"Create project form existing so ...
随机推荐
- 【前端攻略】:玩转图片Base64编码(转)
引言 图片处理在前端工作中可谓占据了很重要的一壁江山.而图片的Base64编码可能相对一些人而言比较陌生,本文不是从纯技术的角度去讨论图片的base64编码.标题略大,不过只是希望通过一些浅显的论述, ...
- SO_REUSEADDR 套接字选项应用
在网络上的SO_REUSEADDR套接字选项是用来解决地址问题重用了大量的信息.但仅仅停留在文字的表达.并没有实例,非常easy误导谁刚开始学习,和不解,此处不再赘述. 的使用该选项,以及须要注意的问 ...
- 编C语言单元测试框架CUnit方法库
/********************************************************************* * Author : Samson * Date ...
- Linux下一个C(编程入门.h档,.c档,而路多文件的调用)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0 ...
- Windows Phone开发(9):关于页面状态
原文:Windows Phone开发(9):关于页面状态 按照一般做法,刚学会如何导航,还是不够的,因为要知道,手机里面的每个页面,就如同Web页面一样,是无状态的. 啥是无状态?如果我们玩过Web开 ...
- IOS成长之路-Nsstring搜索方法rangeOfString
NSString *str1 = @"can you \n speak English"; NSString *str = @"\n"; //在str1该字符串 ...
- sql server基本流程语句
- C# 视频教程
http://www.cnblogs.com/kellen/tag/Silverlight/ http://www.lanmaodream.com/archives/244.html
- Java获得正则表达式
t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,wid ...
- Fire Net HDU
Fire Net Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Subm ...