草庐IT

Android Widgets 允许以某种方式超过 Binder 事务限制?

在AppWidgetManager的Android文档中它说ThetotalBitmapmemoryusedbytheRemoteViewsobjectcannotexceedthatrequiredtofillthescreen1.5times,ie.(screenwidthxscreenheightx4x1.5)bytes.但是TransactionTooLargeException的文档说:TheBindertransactionbufferhasalimitedfixedsize,currently1Mb,whichissharedbyalltransactionsinprog

Android IPC LocalSocket 与 Binder (AIDL)

我希望每个应用都能向我的服务发送数据。因此我需要进程间通信。我能找到的每个页面都建议使用Messenger、AIDL或Intents(BroadcastReceiver)。到目前为止,我可以通过构建一些测试应用程序发现BroadcastReceiver非常慢,如果在while(true)循环中使用多个线程发送消息,消息可能会在没有通知的情况下丢失。AIDL和Messenger不仅实现起来很复杂(需要服务,Binder,......)而且可以提供奇怪的行为,例如当使用AIDL发送多线程导致RemoteException(!!!FAILEDBINDERTRANSACTION!!!)时使用o

android - Android AIDL/Binder 接口(interface)对象是线程安全的吗?

如果我有一个表示远程接口(interface)(到Android服务或远程客户端的回调接口(interface))的Binder对象,那么在从多个线程通过该对象发送IPC时我是否需要显式同步,或者由底层Android组件? 最佳答案 如果我们希望客户端和服务在同一个进程中运行,并且不希望跨不同应用程序执行并发IPC,则使用Binder类实现Bounded服务。因此调用服务方法的线程(在客户端中)将被阻塞,直到它返回。在客户端(Activity)中可能会以编程方式产生多个线程,每个线程都会在任何时刻调用服务方法。因此,服务应该实现为线

java - Android java Binder 失败的 Binder 交易

我有下一个问题,我正在创建自定义适配器的ListView,我正在使用异步任务从JSONurl(文本和图像url)下载适配器的数据,然后我将适配器设置为列表,我使用毕加索库下载图像,现在我的应用程序工作正常,它不会崩溃但是当我开始另一个Activity时我得到这个:E/JavaBinder:!!!失败的BINDER交易!!!即使新Activity为空,我也会收到错误,我使用的是motoG。我已经使用DDMS和EclipseMAT分析了堆,但我没有发现我的代码是否导致内存泄漏。多次从一项Activity更改为另一项Activity,我在logcat中得到了这个:09-0410:37:54.

android - Kotlin:如何在 Binder 中返回正在运行的服务实例?

我有Service的Java代码,并试图将其转换为Kotlin。classMyService:Service(){companionobjectMyBinder:Binder(){fungetService():MyService?{returnMyService::class.objectInstance}}//serviceimplementation}问题是在Activity中getService()总是返回null。我确定service之前已经启动,我在logcat中看到了它。我建议从Java代码自动生成的行应该不同,但我找不到解决方案:returnMyService::cla

android - Binder 类是做什么的? Android绑定(bind)服务中的绑定(bind)是什么意思?

我对绑定(bind)服务一头雾水。我的问题是:绑定(bind)是什么意思?Binder类是做什么的?“返回与服务交互的IBinder”是什么意思?什么是IBinder对象?onBind()方法如何工作?这些是关于绑定(bind)服务的问题。请详细说明。我已经阅读了文档,但我仍然不清楚。 最佳答案 绑定(bind)服务:绑定(bind)服务是一种允许应用程序组件通过调用bindService()创建长期连接来绑定(bind)到它的服务。当您希望通过进程间通信(IPC)与来自应用程序中的Activity和其他组件的服务进行交互,或者将应

android - 安全异常 : Binder invocation to an incorrect interface using in-app billing

我在尝试使用Google提供的应用内结算库时收到SecurityException。这是完整的异常(exception):07-0515:56:47.78326481-26481/com.andrewq.planetsE/AndroidRuntime﹕FATALEXCEPTION:mainProcess:com.andrewq.planets,PID:26481java.lang.SecurityException:Binderinvocationtoanincorrectinterfaceatandroid.os.Parcel.readException(Parcel.java:14

android - 如何听dev/binder?

在Android中dev/binder也负责层通信。是否可以收听消息?我知道它们必须被解码,但我怎样才能得到这些消息。例如,如果一个应用程序发送一条消息成为一个地理定位。我也在我的Android设备上获得了root。 最佳答案 简短:不,这不应该是可能的,即使是root。网上关于Binder的详细信息不多,但有一些,尤其是关于安全性的信息。引用this或topoint3.8here.您还可以阅读内核驱动程序的源代码和openbinder的源代码。. 关于android-如何听dev/bi

android - 终结器抛出的未捕获异常 java.lang.IllegalStateException : Binder has been finalized

这段代码soundPool.release();soundPool=null;有时会产生这个错误:Uncaughtexceptionthrownbyfinalizerjava.lang.IllegalStateException:Binderhasbeenfinalized!atandroid.os.BinderProxy.transactNative(NativeMethod)atandroid.os.BinderProxy.transact(Binder.java:503)atcom.android.internal.app.IAppOpsService$Stub$Proxy.st

android - 什么是 Android Binder "Transaction?"

在从单个APK运行的两个Android进程之间发送消息时,我收到了TransactionTooLargeException。每条消息仅包含少量数据,muchsmallerthanthe1mbtotal(asspecifiedinthedocs).我创建了一个测试应用程序(下面的代码)来解决这个问题,并注意到三件事:如果每条消息超过200kb,我会得到一个android.os.TransactionTooLargeException。如果每条消息小于200kb,我会得到一个android.os.DeadObjectException添加一个Thread.sleep(1)似乎已经解决了这个