android 如何实现单线程异步操作(类似windows那样的)

问题描述

本身游戏有个主线程逻辑 我使用了handler 以及 AsyncTask 但是因为这两个其实是多线程的异步操作,android有没有单线程下的异步操作?比如联网的时候等候时间较长 导致无法响应UI线程的按键操作等- -! 问题补充:我用过了~但是这些实际上内部处理的时候是单开一个内部额外线程么?

解决方案

引用如果在这一个Thread 既保证联网不受阻塞同时也能响应触摸按键 的话 是不是就必需用另一个线程处理handel或是AsyncTask? Android的框架结构是不允许非UI Thread去更新相关Thread的,只能使用Handler或AsyncTask.
解决方案二:
Android的框架结构是不允许非UI Thread去更新相关View的,只能使用Handler或AsyncTask.
解决方案三:
楼上正解,因为android本身就是单线程模型,启动的UI线程即是我们的主线程,而ui的更新等等就只能在主线程中操作,此时的Handler配合Thread就可以很好的达到阻塞效果。 如果是网络请求等耗时操作,建议最好使用AsyncTask进行处理,因为它有更好的控制性,例如可以进行该Task的手动取消,相对而言,线程就不是那么好控制了。 另外,关于内存消耗,AsyncTask要比普通线程消耗更多。 希望对楼主有所帮助。
解决方案四:
上述的执行都在UI Thread(控制好取数据的先后逻辑,基本不会出现UI不能响应), 如果想要更好的效率就单独作Service吧。可以参考: http://zhangkun716717-126-com.iteye.com/blog/779025
解决方案五:
可以的。 final Runnable myLongTimeJob = new Runnable() { public void run() { someMethodHere(); }}; new Thread() { public void run() { _messageHandler.post(myLongTimeJob); } }.start(); AsyncTask也是可以的,执行UI更新要在onPostExecute中作。

时间: 2024-09-27 16:14:55

android 如何实现单线程异步操作(类似windows那样的)的相关文章

谷歌Android TV平台截图曝光 类似Windows 8

[摘要]Android TV是一个深度集成谷歌服务的流媒体播放平台,但目前优势并不明显.腾讯家电讯(编译:Kevin)谷歌作为一个庞大的互联网公司,正试图创造多种开放式平台,来实现全面的服务覆盖,也从而在方方面面改变人们的互联网生活.继Android Wear平台发布之后,传闻中的"Android TV"似乎也正在浮出水面.日前,国外知名科技媒体The Verge泄露了所谓Android TV的截图,似乎谷歌已经做好了准备,要改变目前流媒体电视盒混乱的市场,实现平台统一.一个新的流媒体

诺基亚Android手机界面曝光:类似WP8

诺基亚Android手机界面类似Windows Phone 8北京时间1月17日早间消息,近期市场有传闻称,诺基亚将推出Android手机.目前尚不清楚这款手机是面向新兴市场还是喜欢Android系统的Windows用户,不过知名Twitter帐号@evleaks 曝光的信息显示,诺基亚Android手机的界面看起来仍类似Windows Phone 8.根据美国科技博客The Verge的报道,传闻中代号为"诺曼底"的诺基亚Android手机将配备4英寸显示屏.高通骁龙S4处理器.4G

android 如何自定义 popupwindow 效果类似 58同城 的筛选功能

问题描述 android 如何自定义 popupwindow 效果类似 58同城 的筛选功能 10C 效果类似 58同城 的筛选功能 我在网上找过带有类似筛选效果的源码,发现个问题.其中一个popupwindow处于打开状态时当我想点击另一个按钮打开其他的popupwindow时,会先关闭之前打开的popupwindow,然后我再次点击按钮才会打开其他的popupwindow.而58同城是直接就关闭旧的popupwindow并打开其他的popupwindow. 解决方案 看这里,其实就是二级菜单

android布局里如何实现类似html文字链接效果,我现在有的是两个Button,比较丑,有凸起感

问题描述 android布局里如何实现类似html文字链接效果,我现在有的是两个Button,比较丑,有凸起感 类似支付宝的,管理手势密码和其它用户登录这样的效果,可以点击链接到其它页面. 解决方案 使用html文本,然后让TextView的属性加下划线. Spanned ss = Html.fromHtml(CommentText); setMovementMethod(LinkMovementMethod.getInstance()); 解决方案二: to forlong401:不需要下划线

巧妙设置Android来方便管理Linux和Windows

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1056511 前几天晚上睡觉前没事,想了想如何实现用Android手机来管理Linux和Windows,比如连接到Linux的SSH(Secured Shell)和连接到Windows的cmd(直接访问PowerShell估计还有一定的困难,不过只要可以访问cmd,输入"powershell"就可以访问Po

Android ROM开发(一)——Windows下Cygwin和Android_Kitchen厨房的安装

Android ROM开发(一)--Windows下Cygwin和Android_Kitchen厨房的安装 很久没有碰到ROM开发了,在很久很久以前也是从ROM起步的,无奈还是一脚踏上了Android应用开发,差不多老本行都忘光了,现在还是重新温习一下,相对来说,能看的都是些有底子的人了,所以有些浅显的东西都不会讲,我们直接看精华部分了 一.安装JDK和配置下JAVA环境 JDK下载地址:http://www.oracle.com/technetwork/java/javase/download

填空模式-Android中,要实现类似填空题的功能要怎么做?页面布局怎么办?

问题描述 Android中,要实现类似填空题的功能要怎么做?页面布局怎么办? 想实现类似下面的功能: <朝花夕拾>原名<________>,是________ 的回 忆性散文集,其中的主要人物有 :_________ 因为要填的内容长度不固定,因此页面布局要怎么做?想让固定的文字和变长的文字在同一行,大神能提供一点思路吗?该怎么做? 解决方案 http://download.csdn.net/download/zss793648186/7498449 解决方案二: 描述不是很清楚,

mac os x-苹果系统是否有类似windows按alt + 97(小键盘) 出现字符a的功能

问题描述 苹果系统是否有类似windows按alt + 97(小键盘) 出现字符a的功能 苹果系统是否有类似windows按alt + 97(小键盘) 出现字符a的功能 解决方案 option 跟 alt 键 相当,你试下行不行,不行就没了,我用mac很少这样,直接输入不是更快吗?希望采纳

uiview-问一个UI画板的问题【类似windows自带的画图工具】

问题描述 问一个UI画板的问题[类似windows自带的画图工具] 打算使用一个UI工具做一个画板工具(类似于window自带的画图工具),实现以下2个功能: 1.画笔工具,使用画笔工具可以画出任意曲线.(这一条会做,关键是第二条) 2.橡皮擦工具,使用橡皮擦工具可以擦除已经画出的曲线. 注意:画板的背景是透明色. 想问一下,橡皮擦工具怎么做呢?有人告诉我说,可以把橡皮擦的颜色设置为透明色,来覆盖已经画好的曲线,这样就能达到橡皮擦工具的效果,但是实际验证不可用( 因为透明色的RGBA值未知,无法