做项目的时候遇到了问题.同步请求不能刷新界面. 原来设想:在同步请求的方法内,同步请求之前,添加一个菊花.同步请求拿到结果后再移除菊花. 现实情况:菊花根本不显示.坑啊. 自此开始了整整一天的挣扎.后来问了朋友.说是同步请求冻结界面,让我用异步请求试试.后来用异步请求网络后,在主线程刷新界面,就可以...
分类:
其他好文 时间:
2015-01-14 00:49:28
阅读次数:
143
1 AsyncTask实现的原理,和适用的优缺点
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
使用的优点:
l 简单,快捷
l 过程可控
使用的缺点:
l 在使用多个异步操作和并需要进行Ui...
分类:
移动开发 时间:
2015-01-13 21:41:06
阅读次数:
361
1. setImageResource是同步的,资源图片的读取和解码都是在主线程中进行的。setImageDrawable是异步的。2. 加载速度的区别。setImageResource要快于setImageDrawable和setImageBitmap./** * Sets a drawa...
分类:
移动开发 时间:
2015-01-13 21:31:18
阅读次数:
1918
1 #include 2 #include /* _beginthread, _endthread */ 3 #include 4 5 using namespace std; 6 7 void show(void *ptr); 8 9 int main(){10 _begin...
分类:
编程语言 时间:
2015-01-13 19:15:12
阅读次数:
209
Handler定义: 主要接受子线程发送来的数据,并用此数据配合主线程更新UI。为什么要用Handler? 我们手机当中的很多功能或操作是不能都放在Activity当中的,比如下载文件、处理大量数据、复杂错操作之类的。如果放在Activity中(即主线程中)的话,会出现长时间没响...
分类:
移动开发 时间:
2015-01-13 17:37:14
阅读次数:
309
一、播放声音SoundPoolSoundPool播放短的音效,不能播放歌曲可以用soundpool,用soundpool可以播一些短的反应速度要求高的声音,比如游戏中的爆破声,而mediaplayer适合播放长点的。SoundPool载入音乐文件使用了独立的线程,不会阻塞UI主线程的操作,SoundPool类支持同时播放多个..
分类:
移动开发 时间:
2015-01-13 01:34:18
阅读次数:
192
什么是异步编程?采用异步编程是为了解决等待磁盘IO而造成的性能瓶颈问题。什么时候应用异步编程?你在请求一个Web服务的时候,需要进行网络传输资源,这时候就可以开一个新的线程去处理这些工作,主线程不必等待传输的完成。总的来说在网络编程、IO和数据库读写都可以使用异步编程。DemoTime!首先我们写一...
原文网址:http://my.oschina.net/laopiao/blog/947281.使用全局变量(窗体不适用) 实现线程间通信的方法有很多,常用的主要是通过全局变量、自定义消息和事件对象等来实现的。其中又以对全局变量的使用最为简洁。该方法将全局变量作为线程监视的对象,并通过在主线程对此变量...
分类:
编程语言 时间:
2015-01-12 23:59:02
阅读次数:
453
在UI主线程中构建,不可进行耗时操作;生命周期短暂,主要是起到一个过渡作用;目标组件:Notification、Activity、Service;两种注册方式:(1)动态注册,通常情况下在onResume()中调用Context.registerReceiver()注册,在onPause()中调用unRegisterReceiver()注销;(2)静..
分类:
移动开发 时间:
2015-01-12 19:33:28
阅读次数:
131
AndroidService并不是运行在独立的进程或线程中,在进程的主线程(UI线程)中运行。如果需要处理大量数据或者进行耗时操作,则需要开辟独立线程实现;IntentService在创建时开辟了一个后台线程,所以它可以处理耗时操作;Service的两种启动方式:(1)Context.startService(Int..
分类:
移动开发 时间:
2015-01-12 16:46:48
阅读次数:
178