共有111篇文章,第1页,共6页
-
-
关于线程[博客]
- android的ui线程操作并不是安全的,并且和用户直接进行界面交互的操作都必须在ui线程中进行才可以。这种模式叫做单线程模式。 我们在单线程模式下编程一定要注意:不要阻塞ui线程、确保只在ui线程中访问ui组件 当我们要执行一个复杂耗时的算法并且最终要将计算结果反映到u...
-
-
Android 开发中用到的几个多线程解析[博客]
- 在开发工程中线程可以帮助我们提高运行速度,Android开发中我知道的线程有四个一个是老生长谈的Thread,第二个是asyncTask,第三个:TimetTask,第四个是Looper,四个多线程各有个的有点,Thread的运行速度是最快的,AsyncTask的规范性是最棒的,其它两个也有自己的优点,下面...
-
-
Android多线程,让耗时的操作去后台运行吧[博客]
- 在android程序中,会有一些耗时的操作,比如从网上抓取图片,下载文件,批量更新数据库等,这些操作对于手机而言会需要很长的时间,而应用程序界面又不能等到这些操作完成后再显示,所以要让界面各这些耗时的操作并行处理,用多线程可以解决这个问题。当然还有其它解决方案...
-
-
Android中的Handler机制[博客]
- 直接在UI线程中开启子线程来更新TextView显示的内容,运行程序我们会发现,如下错误:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.翻译过来就是:只有创建这个控件的线程才...
-
-
Android解决:使用多线程和Handler同步更新UI[代码]
- 如果运行时,可以看到滚动条由条慢慢变短,则说明程序成功了。截图如下,建议选择大点的文件做测试。
-
-
Handler+Looper+MessageQueue深入详解[分享]
- 在《Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面》中,我们讲到使用Thread+Handler的方式来实现界面的更新,其实是在非UI线程发送消息到UI线程,通知UI线程进行界面更新,这一篇我们将深入学习Android线程间通讯的实现原理。 概述:Android使用消息机制实...
-
-
Android Thread第二次Thread.start()报错的疑问[博客]
- 网上说Thread不需要stop()的原因是因为运行到尾部就会自动释放,而代码: Thread myThread = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Log.i("thread", "" + count);
while (runabl...
-
-
Splash Screen开场屏在Android中的实现[分享]
- 很多网友可能发现近期Tencent推出的手机QQ Android版包含了一个开场屏Splash Screen载入效果,通常游戏或大型软件打开时可能需要一个释放解析资源的过程,需要一个前台的动画播放和后台的逻辑处理线程配合,当然对于简单的软件也可以加一个Splash Screen作为美化。在Andro...
-
-
Android 主线程和线程之间相互发送消息[博客]
- 通过分析Activity源码,我们知道每个Activity都有一个Looper,所以主线程在接收Message是不需要调用Looper.prepare()和Looper.loop(),但是线程是不带Looper的,当线程要接收来自主线程的消息是就需要调用Looper.prepare()和Looper.loop()。以下我们将通过一个示例,...
-
-
使用Thread+Handler实现非UI线程更新UI界面[分享]
- 概述:每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作。如果在非UI线程直接对UI进行了操...
-
-
Android 进程和线程[分享]
- Processes and Threads 译者署名: 呆呆大虾 译者微博: http://weibo.com/popapa 版本:Android 3.2 r1 进程和线程 如果某个应用程序组件是第一次被启动,且这时应用程序也没有其他组件在运行,则Android系统会为应用程序创建一个包含单个线程的linux进程。默认情况下,...
-
-
Android中UI(View)的刷新[博客]
- 看了很多资料,翻啊翻啊,似乎有些了解了。 Android中对View的更新有很多种方式,使用时要区分不同的应用场合。我感觉最要紧的是分清:多线程和双缓冲的使用情况。 现在可以尝试理解下面的模拟场景: 两个人:一对夫妻,老公上班,老婆在家,现在他们都要吃...
-
-
android 异步加载图片[代码]
-
-
AsyncTask 的实现原理[分享]
- 在《Android异步处理二:使用AsyncTask异步更新UI界面》一文中,我们介绍了如何使用AsyncTask实现异步下载图片,并且更新图片到UI界面的方法。本篇我们将学习Framework层AsyncTask的实现原理。 概述:AsyncTask的本质是一个线程池,所有提交的异步任务都会在这个线程池中的...
-
-
关于android的 listView异步缓存加载图片问题,请教大家下[提问]
- 这个代码是我在适配器的getView下面写的代码: cacheImage = asyncImageLoader.loadDrawable(appInfos.get(position)
.getTxUrl(), new ImageCallback() {
@Override
public void imageLoaded(Drawable imageDrawable) {...
-
-
handler.obtainMessage().sendToTarget()分析[分享]
- 在使用message进行handler的数据交互的时候不可避免的会使用到message作为数据的载体,但是在使用message的时候有人会直接new一个message,有人会使用handler.obtainMessage(),那么这两种方式那种更好一些呢,或者说应用场景分别是什么呢。下面是我的拙见: /** ...
-
-
android多线程下载[代码]
- 通过地址进行多线程下载,下载的文件将保存到SD卡的根目录下
-
-
Android-工作在后台-使用后台线程[博客]
- 相应能力对于Android系统来说太重要了。为了确保APP快速地应对用户的交互和系统事件,我们需要将所有的耗时处理和I/O相关的操作移到子线程中去。 文件操作、网络查询、数据库事务、还有复杂的计算都应该在后台线程中进行。 Android提供了一系列的措施可以让你将处理移到后台...
-
-
Android 中断线程的处理[代码]
- 我现在对一个用户注册的功能 1.用ProgressDialog将当前页面设成不可操作(保留返回键 退出ProgressDialog) 2.用一个线程clientThread执行数据的提交和返回 问题:考虑到ProgressDialog运行过程中,返回键的操作,应该终止clientThread的运行。 以下是我的代码,希望大家互...
-
-
Android 里子线程真的不能刷新UI吗?[分享]
- 如果你在网上搜索CalledFromWrongThreadException:Only the original thread that created a view hierarchy can touch its views. 那么你肯定能看到很多文章说android里子线程不能刷新UI。这句话不能说错,只是有些不太严谨。其实线程能否刷新UI的关键在于ViewRoot是否属...