在android系统中,Java层和c++/c层都可以创建线程。不过Java层创建的线程最终都由c++/c层来实现。使用ddms这个工具可以查看虚拟机实例进程(除zygote本身和由native code创建的进程,比如vold外)所包含的线程大致信息。比如线程名字,id号,状态,user time和system time等。 大家可以看到一般一个虚拟机实例进程都包含有如下7个通用的线程,下面大致讲一下这些线程的作用和创建流程。 1. main 这个就是主线程了。具体流程待细述。 ...
by figofuture - Linux文档专区 - 2010-02-22 22:28:59 阅读(2360) 回复(0)
android下的多线程 在android下面也有多线程的概念,在C/C++中,子线程可以是一个函数,一般都是一个带有循环的函数,来处理某些数据,优先线程只是一个复杂的运算过程,所以可能不需要while循环,运算完成,函数结束,线程就销毁。对于那些需要控制的线程,一般我们都是和互斥锁相互关联,从而来控制线程的进度,一般我们创建子线程,一种线程是很常见的,那就是带有消息循环的线程。 消息循环是一个很有用的线程方式,曾经自己...
视频简介:本专题将侧重介绍android系统中多线程的模型,工作原理,android线程使用的方法,关键点。在android中,线程分为有消息循环的线程和没有消息循环的线程,有消息循环的线程一般都会有一个Looper,这个是android的新概念。我们的主线程(UI线程...
通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务后,再通知displayThread“图片准备完毕,可以显示了”,这时,displayThread继续执行。
以上逻辑简单的说就是:如果条件不满足,则等待。当条件满足时,等待该条件的线程将被唤醒...
android开发之多线程处理、Handler详解 很多初入 android 或 Java 开发的新手对 Thread 、 Looper 、 Handler 和 Message 仍然比较迷惑,衍生的有 HandlerThread 、 java.util.concurrent 、 Task 、 AsyncTask 由于目前市面上的书籍等资料都没有谈到这些问题,今天 android123 就这一问题做更系统性的总结。 android 开发过程中为什么要多线程 我们创建的 Service 、 Activity 以及 Broadcast 均是一个主线程处理,...
利用多线程提高程序性能(for android) 要想搞出一个反应迅速的android应用程序,一个很好的做法就是确保在主UI线程里执行尽量少的代码。任何有可能花费较长时间来执行的代码如果在主UI线程执行,则会让程序挂起无法响应用户的操作,所以应该放到一个单独的线程里执行。典型的例子就是与网络通信相关的操作了,因为通过网络收发信息的快慢我们无法预测,有可能“biu”地一下就搞定了,也有可能磨磨唧唧半天。用户心情好的话可能...
本帖最后由 linux初学三月 于 2010-07-23 11:41 编辑 在某些时候我们需要在android设备上下载远端服务器上的图片来进行显示,这里我整理出两种比较好的方法来实现远程图片的下载。 方法一、直接通过android官方提供的Http类访来问远程服务器,这里androidHttpClient是SDK 2.2中新出的方法,API Level为8,大家需要注意下,静态访问可以直接调用,如果SDK版本较低可以考虑Apache的Http库,当然HttpURLConnection或URLConnecti...
自从framework广泛应用后,我们不用面对赤裸裸的手机操作系统API,做一些重复而繁杂没有意义的事情。但天下没有免费的午餐,我们还是需 要学会高效正确的使用不同的framework,很多处理某一特定问题的手法在不同的framework中,用起来都会有所不同的。今天我们主要学习 andorid framework的使用。 在android中,下层是Linux的核,但上层的java做的framework把这一切封装的密不透风。以消息处理为例,在MFC中,我 们可以用PreT...
自从framework广泛应用后,我们不用面对赤裸裸的手机操作系统API,做一些重复而繁杂没有意义的事情。但天下没有免费的午餐,我们还是需 要学会高效正确的使用不同的framework,很多处理某一特定问题的手法在不同的framework中,用起来都会有所不同的。今天我们主要学习 andorid framework的使用。 在android中,下层是Linux的核,但上层的java做的framework把这一切封装的密不透风。以消息处理为例,在MFC中,我 们可以用PreTr...
【IT168 技术文档】有了framework后,我们不用面对赤裸裸的OS API,做一些重复而繁杂的事情。但天下没有免费的午餐,我们还是需要学会高效正确的使用不同的framework,很多处理某一特定问题的手法在不同的framework中,用起来都会有所不同的。 在android中,下层是Linux的核,但上层的java做的framework把这一切封装的密不透风。以消息处理为例,在MFC中,我 们可以用PreTranslateMessage等东东自由处理消息,在C#中,Anders H...
android ndk竟然不支持多线程调试,TNND,这让我等开发人员情何以堪啊。 从官方论坛讨论到实际的操作结果发现,android NDK编写的.SO文件,竟然不支持在多线程环境下的调试,断点只能断在主线程里,其他线程下断点断不下来不说,还会出现 Program terminated with signal SIGTRAP, Trace/breakpoint trap.导致程序崩溃退出。 而一般android应用都会有6个以上的线程,TNND,这让我等开发人员情何以堪啊。