草庐IT

asio_handler_invoke

全部标签

Android:Handler

参考来源参考来源参考来源参考来源Handler机制(面试版)Binder/Socket用于进程间通信,而Handler消息机制用于同进程的线程间通信handler机制是android系统运行的基础,它采用生产者,消费者模式进行设计。其中生产者和消费者都是handler,多个handler会生产消息message投递到线程共享的messagequeue有序单链表里面,再由线程共享looper进行消费,将message消息dispatch到其指定的handler进行处理。无论是activity/service/fragment的生命周期都基于handler机制运作,ui视图刷新/动画系统播放也是通

android - 此 Handler 类应该是静态的,否则可能会发生泄漏 (null)

ThisHandlerclassshouldbestaticorleaksmayoccur(null)此消息中的“类”是否指的是此处的“MyActivity”,因为Handler是一个对象并且我确实将其声明为静态的。我应该忽略它还是应该添加一些东西,比如“MyActivity”声明中某处的“静态”(我试过这个但出错了)。我注意到通常会针对此lint警告建议使用“WeakReference”。publicclassMyActivityextendsActivity{...staticHandlerhandler;...handler=newHandler(){publicvoidhand

java - 安卓 : openConnection() throws IOExeption ( Unable to find default handler for protocol: http )

我有一个使用jcifs库的android应用程序。每次我尝试使用HTTP协议(protocol)在URL上运行openConnection()时,我都会收到带有以下消息的IOExeption:“无法找到协议(protocol)的默认处理程序:http”。它适用于使用FTP协议(protocol)的URL。经过一番挖掘,我怀疑问题出在jcifs库中。从JCIFS文档中,我发现了以下内容:ThejCIFSNTLMsupportisimplementedasaURLStreamHandlerforHTTPconnections.Thishandler"wraps"thedefaulthand

android - Android 设备上的 Boost Asio deadline_timer 不会在到期时间触发,而是在稍后的时间触发

我们正在尝试在Android设备上使用boostasiodeadline_timers。我们有一个要求,我们需要每100毫秒触发一个定时器。我使用了如下代码。但是,计时器似乎每1秒触发一次。我们应该在Android系统中进行哪些微调才能使boostasio截止时间计时器按预期工作?注意:以下代码在普通linux系统上按预期工作。是什么让它在Andorid系统上的工作方式不同?代码:voidprint(asio::deadline_timer*ptimer,constasio::error_code&err){structtimevaltval;if(0==gettimeofday(&t

android - 从服务使用 : runOnUiThread or AsyncTask or Handler or Post

我正在编写一个voip应用程序。它基于管理voip逻辑的服务和用于调用电话、应答等的UI。从服务更新UI的最佳方式是什么:runOnUiThread或AsyncTask或处理程序或发布什么时候使用一种方法而不是另一种方法?我知道runOnUiThread是有问题的,因为它可能会导致事件乱序运行(如果线程已经是UI线程)。谢谢。 最佳答案 据我所知,您不能直接从服务更新屏幕。您必须使用广播接收器从服务中捕获您的广播。我想AsyncTask本身使用runOnUiThread,但它提供了在后台线程中执行一个方法并将结果放入UI线程的好方法

android - gradle Android studio : "Cannot invoke method get() on null object" 错误

我有一个包含多个模块的项目,每个模块都是一个单独的应用程序。我将Firebase添加到一个模块,此后另一个模块的gradle无法同步。我不断收到:“无法在空对象上调用方法get()”,当我注释掉播放服务“依赖项时,它会消失。我的等级是:buildscript{repositories{google()maven{url'https://maven.fabric.io/public'}}dependencies{classpath'io.fabric.tools:gradle:1.+'}}applyplugin:'com.android.application'applyplugin:'

android - thread/runnable, handler, runonuithread, asynctask 之间的区别

我开始学习安卓编程,并且正在开发一款小游戏。我听说做后台操作或更新或下载或任何后台和耗时的事情不应该用uithread来完成,而是使用thread/runnable或asynctask。但是我不能在线程中做一些事情,比如后台连接到数据库,因为这个连接与剩余的处理程序一起工作,runonuithread,asynctask.am非常困惑在哪里使用哪个。我有一些问题1.handler、runonuithread都运行在ui线程上,thread/runnable是不同的线程,在异步任务中,doinbackground方法运行在不同的线程上,其他方法如onprogressupdate、onpr

android - 如何在Handler线程中做横向数据

我有一个Activity,其中包含2个fragment,每个fragment有2个listviews,每个都有一个适配器。因此,我从服务器的json中获取了相当长的数据,我使用AsyncTask并在postexecute上解析数据。问题是它会卡住加载动画4-5秒。我已尝试使用Handler线程,但问题仍然存在,我一定是在这里做错了什么。publicclassDataServiceextendsAsyncTask{@OverrideprotectedVoiddoInBackground(String...params){url=newURL(DATA_URL);//Connections

android - 在 Android 中使用 CountDown Timer 或基于 Handler 自己滚动

这篇文章:http://android-developers.blogspot.co.uk/2007/11/stitch-in-time.html描述了如何使用Handler实现定时器。我可以使用CountDown计时器实现相同的目的:http://developer.android.com/reference/android/os/CountDownTimer.html这将在前台服务中运行,该服务正在播放音乐,以便在指定时间段后停止播放音乐(想想音乐椅)。屏幕锁定时的时间需要可靠,我认为在前台服务中运行它应该确保这一点,是这样吗?我从这个帖子知道:WhydoesCountDownTi

java - 安卓 + java.lang.NullPointerException : Attempt to invoke interface method

在编译我的代码时出现此错误(“java.lang.NullPointerException:尝试调用接口(interface)方法”),我仍然无法理解原因。这是我的代码:publicclassFragmentDetailsextendsFragment{privateTextViewtext1,text2,text3,text4,text5=null;privateButtonbutton1=null;OnDetailsDefinedListenermCallback;publicinterfaceOnDetailsDefinedListener{voidexecuteOrder(St