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(ta…
android App开发在某些情况下需要有延时功能,比如说App首页显示定格3秒,然后自动跳到登录页的情况,这就好比是一个预加载,但是这个预加载可能瞬间就完成了,撑不到3秒钟,这是就要求你做延时处理. 下面是三种方法: 一.线程 1. new Thread(new Runnable(){ 2. public void run(){ 3. Thread.sleep(XXXX); 4. handler.sendMessage();----告诉主线程执行任务 5. } 6. }).start 二.延…
前几天去国美在线面试,就遇到了上面的问题,当时是笔试,只写出来了第一种方法,现在整理了一下. //1.performSelector方法:在当前线程中执行的方法,使用默认模式,并延迟执行@selector方法. [self performSelector:@selector(runDelayMethod) withObject:nil afterDelay:2.0]; //取消之前注册的performSelector:withObject:afterDelay:这个方法 //[NSObject…
公用延迟执行的方法: - (void)delayMethod { NSLog(@"delayMethodEnd"); } 方法一.performSelector 方法 1.延迟执行 /** * 延迟执行 * * @param aSelector 方法名称 * @param anArgument 要传递的参数,如果无参数,就设为nil * @param delay 延迟的时间 */ - (void)performSelector:(SEL)aSelector withObject:(nu…
android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建hello.java文件,编写如下代码: public static class hel…
SQL有定时执行的语句WaitFor. 语法格式:waitfor {delay 'time'|time 'time'} delay后面的时间是需要延迟多长时间后执行. time后面的时间是指定何时执行,格式为'HH:MM:SS',不支持日期   例: --指定10:00执行 Begin waitfor time '10:00' select * from tablename end   --指定等待1小时后执行 begin waitfor delay '1:00' select * from t…
项目中遇到一个情况,先生成文件再上传:但有时候发出指令后上传会不成功,需要再发一次指令方能上传. 猜想是由于文件还没生成就执行「上传」指令了.想到要延时.Android中单纯用currentThread.sleep()方法好像是不行的,要用「Handler」. 用以下代码成功实现延时: new Handler().postDelayed(new Runnable(){ public void run() { //显示dialog } }, 5000); //5秒 补充:API是这么解释的: 「T…
本文来自:http://msdn.microsoft.com/zh-cn/library/bb399393(v=vs.110).aspx http://www.cnblogs.com/zhanglinfan/articles/1457068.html http://hi.baidu.com/ccitofhxxxbenwq/item/b930bca05b49f57f6cd455c6 延迟加载与立即加载 .NET Framework 4.5   其他版本   此主题尚未评级 - 评价此主题   查询…
目录(?)[-] 小例子 Handler的处理 Activity的代码片段 后台线程和UI的互动 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 之前我们介绍了Android主线程异步处理机制.通过Handler可以将消息放置到队列中等待处理.Handler可以控制消息放置在队列方式:sendMessage(), sendMessageAtFrontOfQueue(), sendMess…
Method1. performSelector方法 Method2. NSTimer定时器 Method3. NSThread线程的sleep Method4. GCD 公用延迟执行方法 - (void)delayMethod{ NSLog(@"delayMethodEnd"); } Method1:performSelector [self performSelector:@selector(delayMethod) withObject:nil/*可传任意类型参数*/ after…
在js中,延迟执行函数有两种,setTimeout和setInterval,用法如下: function testFunction(){Console.log('hovertree.com');} setTimeout("testFunction()","6000"); //6000毫秒后执行testFunction()函数,只执行一次. setInterval("testFunction()","6000");//每隔600…
作为一个多任务的系统,Android 系统当然能够尽可能长的保留一个应用进程,但是由于新的或者更重要的进程需要更多的内存,系统不得不逐渐终结老的进程来获取内存.为了声明哪些进程需要保留,哪些需要kill,系统根据这些进程里面的组件以及这些组件的状态为每个进程生成了一个“重要性层级” .处于最低重要性层级的进程将会第一时间被清除,接着时重要性高一点,然后依此类推,根据系统需要来终结进程. 在这个重要性层级里面有5个等级.下面按照重要性排序展示了不同类型的进程(第一种进程是最重要的,因此将会在最后被…
[源码下载] 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 线程池 通过 ThreadPoolTimer 实现延迟执行 通过 ThreadPoolTimer 实现周期执行 通过 ThreadPool 实现“在线程池中找一个线程去执行指定的方法” 示例1.通过 ThreadPoolTimer 实现延迟执行(Thread…
像C.C++.JAVA都有一个主函数作为程序的入口点,但是Android中并没有一个明确的主窗口,那么在有多个Activity的情况下,最先被执行的是哪个呢?这完全取决于配置文件AndroidMainfest.xml中的配置. 哪个Activity下有下面这段程序,哪个Activity就最先被加载 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category a…
概述 项目开发中经常会用到方法的延时调用,下面列举常用的几种实现方式: 1.performSelector 2.NSTimer 3.NSThread线程的sleep 4.GCD 1.performSelector [self performSelector:@selector(delayMethod) withObject:nil/*可传任意类型参数*/ afterDelay:2.0]; 此方法是一种非阻塞的执行方式. 取消方法: 第一种: /** * 取消延迟执行 * * @param aTa…
$*********************************************************************************************$ 博主推荐: 风萧兮兮易水寒,"天真"一去兮不复还.如何找到天真的那份快乐.小编倾力推荐app: 天真无谐 下载方式:豌豆荚,应用宝,360手机助手,百度手机助手,安卓,91市场搜索:天真无谐 关注我们:查看详情 $******************************************…
Android中使用WebView, WebChromeClient和WebViewClient加载网页   在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android 中提供了其很好的支持,下面是一个例子程序,先帖: 1 2 3 4 <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.c…
 延迟执行可以通过以下操作实现,按照推荐的顺序列出来 1. new Handler().postDelayed(new Runnable(){ public void run() { //execute the task } }, delay); 2. mHandler.sendEmptyMessageDelayed(WIFI_GPS_STATE_ON, 4 * 1000);     3.利用定时器 TimerTask task = new TimerTask(){ public void ru…
第一种: [UIView animateWithDuration: delay: options: animations:^{ self.btn.transform = CGAffineTransformMakeTranslation(, ); } completion:^(BOOL finished) { NSLog(@"view animation结束"); }];//不会阻塞线程,animations block中的代码对于是支持animation的代码,才会有延时效果,对于不支…
Android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解.  一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP 当屏幕中包含一个ViewGroup,而这个ViewGroup又包含一个子view,这个时候android系统如何处理Touch事件呢?到底是 Vie…
前言 作为四大组件之一的Service,想必不少开发者都是了解的,那具体熟悉吗?是不是对Service中的每个知识点是否了解,它与Activity的关系又是什么样的,我们所理解的后台服务跟Service是否一样,那跟Thread有什么区别呢,带着这些问题,就可以写一篇文章来一一展开了. 目录 Service是什么 Service生命周期 Service基本用法 Service与Activity的关系 Service与Thread的区别 小结 Service是什么 从官网中,我们可以看到这么一句:…
阅读书籍: Android开发艺术探索 Android开发进阶从小工到专家 对线程池原理的简单理解: 创建多个线程并且进行管理,提交的任务会被线程池指派给其中的线程进行执行,通过线程池的统一调度和管理使得多线程的使用更简单,高效. 使用线程池的优势: 1.重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销. 2.能有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的阻塞现象. 3.能够对线程进行简单的管理,并提供定时执行以及指定间隔循环执行等功能. ThreadPo…
由于网上有朋友对于这个问题已经有了很详细的研究,所以我就不班门弄斧了: 转载于:http://android-performance.com/android/2014/02/10/android-sparsearray-vs-hashmap.html http://liuzhichao.com/p/832.html http://www.codes51.com/article/detail_163576.html 源码: /* * Copyright (C) 2006 The Android O…
在多线程编程的时候,我们经常会用到Handler,Thread和Runnable这三个类,我们来看看这三个类之间是怎么样的关系? 首先说明Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应. 而Runnable是一个接口,Thread是Runnable的子类.可以说,他俩都算一个进程. HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环. 与其说H…
信号量,了解过操作系统的人都知道,信号量是用来做什么的··· 在Android中,已经提供了Semaphore来帮助我们使用~ 那么,在开发中这家伙有什么用呢? 用的地方不多,但是却真的是好用至极! #0 举个栗子 我相信很多人在开发中都会遇到这样的事情:当要对一个资源进行多次数据读取并且修改操作时,会遇到执行的速度快慢不一致导致修改值发生改变的情况. 比如如下代码: private void Start() { for (int i = 10; i >= 0; i--) { LogString…
[转发]作为Android开发人员,我们或多或少都听说过内存泄漏.那么何为内存泄漏,Android中的内存泄漏又是什么样子的呢,本文将简单概括的进行一些总结. 关于内存泄露的定义,我可以理解成这样 没有用的对象无法回收的现象就是内存泄露 如果程序发生了内存泄露,则会带来如下的问题 应用可用的内存减少,增加了堆内存的压力 降低了应用的性能,比如会触犯更频繁的GC 严重的时候可能会导致内存溢出错误,即OOM Error 在正式介绍内存泄露之前,我们有必要介绍一些必要的预备知识. 预备知识1: Jav…
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.其实这可能导致内存泄露,代码中哪里可能导致内存泄露,又是如何导致内存泄露的呢?那我们就慢慢分析一下.http://www.jinhusns.com/Products/Download/?type=xcj 在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.通常我们的代码会这样实现. public class SampleActivity extends Activity {   …
Android框架提供了很实用的异步处理类.然而它们中的大多数在一个单一的后台线程中排队.当你需要多个线程时你是怎么做的? 众所周知,UI更新发生在UI线程(也称为主线程).在主线程中的任何操作都会阻塞UI更新,因此当需要大量计算时可以使用AsyncTask, IntentService 和 Threads.事实上,在不久前我写了在android中异步处理的8种方式.然而,Android中的AsyncTasks运行在一个单一后台线程并且IntentService也同样如此.因此,开发者应该怎么做…
android中动画可分为三种:帧动画,补间动画,和属性动画.其中属性动画是google推荐的,它可以实现前面两种动画的效果,运用起来更加灵活. 帧动画:顾名思义,就是一帧一帧的图片,快速播放形成的动画. 具体实现步骤如下: 第一:新建一个drawable资源 以animation-list 为根节点创建资源文件. 第二:给ImageView或者其他View设置关联drawable.可以作为background或者src. 第三:在java代码中,通过View.getBackground():或…
原文网址:http://cherishlc.iteye.com/blog/1756762 在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在Android中会生成Linux系统下的.so文件(好吧,其实我基本没用过Linux). 没写过JNI的可以看看我之前的博客(Windows下利用Visual Studio开发的过程):http://cherishlc.iteye.com/admin/blogs/1328136 以及自动生成工具swig的…