Android中常见的几种定时刷新方式

标签: android 常见 | 发表时间:2012-08-17 00:10 | 作者:
出处:http://www.iteye.com

在Android中常见的几种刷新方式有 Timer,Alarm和handler。在widgetapp更新中,alarm用的比较多,有人讲用alarm比较省电。

但笔者使用后发现用alarm有时候反而会使系统反应变慢了。更好的方法推荐使用handler。


第一种:Timer

Timer这种方式最为常见,起个定时刷新的任务,不用的时候cancel掉,置为空即可。

示例代码:

Timer timer = new Timer( );

TimerTask task = new TimerTask( ) {
public void run ( ) {
Message message = new Message( );
message.what = 1;
handler.sendMessage(message);
}
};

final Handler handler = new Handler( ) {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
log.e("Timer","Timer");
update( );
break;
}

第二种:Alarm

示例代码:

开始计时

Intent intent = new Intent(widgetUpdate);
refreshIntent = PendingIntent.getBroadcast(pContext, 0, intent, 0);
alarm = (AlarmManager)pContext.getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC, 0, 1000, refreshIntent);//每秒刷新1次

停止计时

if (alarm!=null) {
     alarm.cancel(refreshIntent);
     refreshIntent.cancel();
     refreshIntent = null;
  alarm = null;
}


第三种:handler

private Handler handler = new Handler();
    private Runnable runnable = new Runnable() {
    public void run () {
    update();
    handler.postDelayed(this,1000); 
    }
    };


开始计时

handler.removeCallbacks(runnable);
handler.postDelayed(runnable,1000); 

停止计时

handler.removeCallbacks(runnable);

第三种代码看起来也非常的简洁,推荐使用。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [android 常见] 推荐:

10个常见的 Android 新手误区

- - ITeye博客
在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台. 它不仅是一个廉价的工具,而且有着良好的开发社区,以及从所周知的编程语言(Java),使得开发Android应用程序变得前所未有的简单. 即便是这样,我们仍然看到不少Android开发新手一遍又一遍地犯着同样的错误.

Android WebView 常见的九个问题

- - 移动开发 - ITeye博客
关注微信号:javalearns   随时随地学Java. 目前Android WebView问题越来越多,接下来由爱内测(www.ineice.com)的技术工程师为我们介绍几种常见的Android WebView问题:. 1.为WebView自定义错误显示界面: /** * 显示自定义错误提示页面,用一个View覆盖在WebView */ protected void showErrorPage() { LinearLayout webParentView = (LinearLayout)mWebView.getParent();.

Android中常见的几种定时刷新方式

- - ITeye博客
在Android中常见的几种刷新方式有 Timer,Alarm和handler. 在widgetapp更新中,alarm用的比较多,有人讲用alarm比较省电. 但笔者使用后发现用alarm有时候反而会使系统反应变慢了. 更好的方法推荐使用handler. Timer这种方式最为常见,起个定时刷新的任务,不用的时候cancel掉,置为空即可.

Android 应用中十大常见 UX 错误

- - 互联网的那点事
Android 开发者关系团队每天都会试用无数的 App 或者受到无数的开发者发来的请求评测的 App,在评测如此之多的应用之后,他们总结出了10个最常见的错误. 作为一个长期使用 Android 的用户,我在使用 Android 应用的时候经常遇到各种各样的交互上的问题,并且早就想整理它们写一篇文章了.

android webview 使用以及一些常见的异常处理

- - 移动开发 - ITeye博客
android中的提供webview控件,可以方便开发人员是自己的应用嵌入网页浏览功能,但实际开发中却会遇到 一些问题,这个稍后会介绍到,. 回过头来在首页点击相关新闻链接后会发现出现空白页无法正常访问,后来研究发现这个和网站结构有关系,看来webview并不能完全实现浏览器功能. 接下来就是简单的 异常 处理了,主要就是重写WebViewClient类中的onReceivedError()方法和onReceivedSslError()方法来进行 处理了.

Android WebView常见问题及解决方案汇总

- - 移动开发 - ITeye博客
如有转载,请声明出处: 时之沙:  http://blog.csdn.net/t12x3456. Android WebView常见问题解决方案汇总:. 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论. 于是乎,一种混合型的app诞生了,灵活多变的部分,如淘宝商城首页的活动页面,一集凡客诚品中我们都可以见到web 页面与native页面的混合,既利用了web app的灵活易更新,也借助了native app本身的效率.

移动安全:android app proguard混淆配置与常见问题

- - Seay's blog 网络安全博客
Java代码编译成二进制class 文件,这个class 文件也可以反编译成源代码 ,除了注释外,原来的code 基本都可以看到. 为了防止重要code 被泄露,我们往往需要混淆(Obfuscation code , 也就是把方法,字段,包和类这些java 元素的名称改成无意义的名称,这样代码结构没有变化,还可以运行,但是想弄懂代码的架构却很难.

Android性能优化之常见的内存泄漏

- - CSDN博客推荐文章
最近腾讯bugly也推出了三篇关于Android内存泄漏调优的文章,有兴趣的可以看看:. 1、 内存泄露从入门到精通三部曲之基础知识篇. 2、 内存泄露从入门到精通三部曲之排查方法篇. 3、 内存泄露从入门到精通三部曲之常见原因与用户实践. 当一个对象已经不需要再使用了,本该被回收时,而有另外一个正在使用的对象持有它的引用从而导致它不能被回收,这导致本该被回收的对象不能被回收而停留在堆内存中,这就产生了内存泄漏.

android WebView详解,常见漏洞详解和安全源码

- - CSDN博客推荐文章
  这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析.   转载请注明出处: http://blog.csdn.net/self_study/article/details/54928371.   对技术感兴趣的同鞋加群 544645972 一起交流.

Android开发之浅谈Service的基本概况和常见问题

- - CSDN博客移动开发推荐文章
    Service(服务)是一个应用程序组件,可以在后台执行长时间运行的操作,不提供用户界面. 其他应用程序组件可以启动一个Serivce,它将继续在后台运行,即使用户切换到另一个应用程序. 此外,一个组件可以绑定到一个服务与它交互,甚至执行进程间通信(IPC). 例如,一个Serivice可能处理网络交易,播放音乐,执行文件I / O,或与一个内容提供者交互,所有的背景.