搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
凡人多烦事01
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Ai创作系统源码的原理是什么?如何开发一套属于企业私有的AIGC工具_ai源码系统
2
Python打包发布_assertionerror: unsupported schema
3
LaTeX基本文档结构_\backmatter 包
4
flex布局实现等分_flex 二等分
5
测试金字塔
6
软件工程应用与实践(2)——application.properties配置文件分析_application.properties文件的作用
7
C++:红黑树_c++ 红黑树
8
mybatis3 :insert返回插入的主键(selectKey)
9
【2023亲测可用】JS 获取电脑本地IP 和 电脑网络IP(外网IP|公网IP)_js获取当前电脑ip地址
10
最新(2023.3.17)配置llvm、clang、clangd、clang-tidy方法,极其简单,轻松上手_clang-tidy 安装 windows
当前位置:
article
> 正文
Android 异常解决方法汇总_android so va_arg 异常
作者:凡人多烦事01 | 2024-03-15 23:30:58
赞
踩
android so va_arg 异常
(1)
异常:Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。
2、将引用的第三方包,添加进工作的build path。选中jar包->Build Path
3、(关键的一步)将lib设为源文件夹。如果不设置,则程序编译可以通过,但运行的时候,会报:选中lib文件夹->source code
java.lang.NoClassDefFoundError
Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
(2)
异常:Caused by: android.os.TransactionTooLargeException
导致原因是:Binder传输的数据太大
如果Binder的参数或返回值太大,不适合的事务缓冲区,然后调用将失败,并将被抛出TransactionTooLargeException。
解决方法:
不要将大量数据传入Binder
(3)
异常:android.database.CursorWindowAllocationException:Cursor window allocation of 2048 kb failed
导致原因:主要原因是因为使用了SimpleCursorAdapter类,其中的Cursor参数需要我们手动关闭,否则就会出现以上异常。
解决方法:cursor.close()
(4)
异常:Excessive JNI global references错误的解决方案 GREF暴增
导致原因:vm对jni层的reference有个数限制,过多很造成VM aborting。因此每次在GREF增加到2000以上的时候就直接aborting了
解决方法:及时回收或关闭引用
(5)
异常:android.view.WindowManager$BadTokenException: Unable to add window -- token
导致原因:使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。
解决方法:采用当前Activity的Context
(6)
异常:android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file
导致原因:重复安装软件,导致Sqlite3打开数据库异常
解决方法:卸载相应软件,开关机,重新安装该软件,即可以解决相关异常。
(7)
异常:java.lang.NullPointerException
异常原因:使用fragment时,fragment相关布局,必须给每个view设置id,否则通过activity获得fragment的实例时会出现以上异常
解决方法:为fragment布局的每个view设置ID
(8)
异常:java.util.ConcurrentModificationException(并发操作异常)
异常原因:ArrayList是非线程安全的,当同时在遍历和修改ArrayList时,就会出现该异常
解决方法:使用Vector替换ArrayList,Vector是线程安全的。Vector的缺点:大量数据操作时,由于线程安全,性能比ArrayList低
(9)
异常:so库文件异常(JNI层异常)
异常原因:在Android应用层开发中,我们经常会使用so库文件。当so库文件发生异常时,我们只能在adb log中发现
fatal libc
这样的异常信息,仅此而已,并不能发现异常调用的逻辑关系, 这是我们就需要查看so 库异常Log信息。在Android手机的
/data/tombstones
的路径下就包含了so库文件发生异常的Log信息,开发者可以查看该路径下载Log文件发现异常调用的逻辑关系。
android aidl 进程间通信需要注意的地方(android.os.TransactionTooLargeException)
1.bus工程实现通过service实现aidl实体类
2.actor工程通过发起bindservice,根据action去启动远程(跨进程的)bus上的aidl。
那么问题来了,我们知道,linux系统进程间通信,各个进程间资源是隔离的,两个进程间需要通信,就要把msg转换成底层os系统能够识别的数据单元,在Android里面的方案是aidl+parcelbal的序列化。
为了模拟和测试aidl的性能问题,我做了个简单实验,在Android中,进程间通信通过binder实现,bind是通信的数据载体,当序列化后的数据单元过大时,就会出问题,报出android.os.TransactionTooLargeExcep
tion。
http://developer.android.com/reference/android/os/TransactionTooLargeExcep
tion.html
官方文档里有说明,最大通常限制为1M.也就是说如果大于1M数据的话,就应该分开传。理论上说,应该都是对象和字符串类型的数据为主,只要不是大图片实体等问题,一般应该够用。
我这边做了一个测试,序列化传送了450k的String被序列化 后的数据,耗时使用了33秒的时间。
try {
StringBuilder sb = new StringBuilder();
for(int i = 0;i< 30;i++){
sb.append(new String (stringMsg));
}
System.out.println( "actor time start :" +System.currentTimeMillis());
binder.sendMsg("msg from actor : " + sb.toString());
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
------
public static BusCore coreBinder = new BusCore.Stub() {
@Override
public void sendMsg(String msg) throws RemoteException {
Log.d("", " RemoteBusCoreService msg:" + msg);
System.out.println("buscore time end :" +System.currentTimeMillis());
}
};
对于远程服务,必须调用 bindService()方法,而不是 startService()方法。
今天刚好是在做框架性 实现方案测试时,稍微检测了下个,mark下。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/凡人多烦事01/article/detail/245407
推荐阅读
article
<
Android
>集成
图灵
机器人
的小
demo
_
android
图灵
机器人
app
...
需要自己先注册账号注册机
机器人
,并且得到自己的apiKey接下来就可以使用了,上代码package com.sdp.pa...
赞
踩
article
android
图灵
api
,调用
图灵
机器人
API实现
Android
智能
机器人
...
非常感谢CSDN博客上的鸿洋哥,他贴出的源码是我所做的工作的基础,鸿洋哥博客链接http://blog.csdn.net...
赞
踩
article
android
自己封装
sdk
,原生
Android
制作精简打包
SDK
项目
(
Android
Studi...
因为之前已经开发了原生的
Android
项目
,所以现在要集成uniapp开发的应用到原生里面,为了方便处理,只能自己制作一...
赞
踩
article
【
android
】
进程
、
守护
进程
的
实现
及
进程
拉活
_
android
9
进程
保护...
1,概念1)
守护
进程
(Daemon)是一种运行在后台
的
特殊
进程
,它独立于控制终端并且周期性
的
执行某些任务。
android
...
赞
踩
article
[
Android
]
Android
P(9)
WIFI
学习笔记 -
扫描
(1)_
android
获取...
Android
P WiFi
扫描
请求发起流程_
android
获取
wifi
扫描
结果
android
获取
wifi
扫描
结果
...
赞
踩
article
《
Android
基础(四十八)》
ConstrainLayout
【译】_
android
:
layout
...
原文地址https://developer.
android
.google.cn/reference/
android
/su...
赞
踩
article
android
布局
圆形
_
Android
约束
布局
–
圆形
定位...
android
布局
圆形
In this tutorial, we’ll be discussing a cool att...
赞
踩
article
Android
约束
布局
(
ConstraintLayout
)的使用_
app
:
layout
_const...
1. 概述在
Android
中有许多的
布局
,比如 RelativeLayout,LinearLayout,FrameLay...
赞
踩
article
android
ConstraintLayout
约束
布局
笔记这一篇就够了_
layout
_const...
android
约束
布局
的笔记基本属性浮动控件辅助控件Guidelinebarrierplaceholdergroupc...
赞
踩
article
Android
ConstraintLayout
协调者
布局
简单代码示例
_
协助者
布局
要进行哪些步骤...
&amp;lt;?xml version=&quot;1.0&quot;...
赞
踩
article
Android
ConstraintLayout
约束布局的使用_
android
.
support
.c...
目前
Android
的默认布局早已改成
ConstraintLayout
,但是很多小伙伴还是使用过去的相对布局,觉得老的布局...
赞
踩
article
Android
ConstraintLayout你不知道的好用功能
_
androidprv
:layou...
本文只说功能,用法自行搜索()里面为陌生度,100为很陌生 0为这都不知?1. 角度约束(90)一个控件在某个控件的某个...
赞
踩
article
Android
约束
布局
ConstraintLayout
解析
_
限制性
布局
中,
app
:
layout
_
c...
前言
ConstraintLayout
是一个Support库,它支持向前兼容,最低可支持到API 9(android 2...
赞
踩
article
Android 之约束布局
_
constraint
_
referenced
_
ids
android
...
简单介绍约束布局 ConstraintLayout 是一个ViewGroup,主要解决布局嵌套过多,从而在布局加载时,就...
赞
踩
article
Android
约束
布局
(
ConstraintLayout
)学习笔记_constraintlayou...
ConstraintLayout
是
Android
Studio 2.2 中主要的新增功能之一,也是Google在去年...
赞
踩
article
Android
约束
布局
:
ConstraintLayout
Circle
我去年买了个表_const...
要是没有
约束
布局
画一个这样的类似表的
布局
。。需要定义自定义view去计算。或者是手动计算好再写上去。就很麻烦。但是...
赞
踩
article
Android
Studio
:
ConstraintLayout
的常用属性详解_
android
con...
约束
布局
ConstraintLayout
是一个ViewGroup,可以在Api9以上的
Android
系统使用它,它的出...
赞
踩
article
Android
ConstraintLayout
约束
布局
详解_
android
约束
布局
...
在2016年的GoogleI/O大会上,Google发布了预览版,同时也发布了
Android
新的
布局
方案,但是最近的一年...
赞
踩
article
Android
ConstraintLayout
详解_
android
constraintlayou...
Android
ConstraintLayout
layout_constraintDimensionRatio_andro...
赞
踩
article
Android
屏幕适配
解决方案
,
ConstraintLayout
约束布局应用实战
,
减少了层级
,
解决...
app:
layout
_
constraintTop
_
toTopOf="parent"app:
layout
_
constrai...
赞
踩
相关标签
android 图灵api
android 自己封装sdk
android
学习
android studio
Android布局
Android Support
定位
java
安卓
约束布局
ConstraintLayout
Constraint
约束布局学习
约束布局辅助控件
约束布局链
apache
ConstraintLayout使用详解
ConstraintLayout使用说明
ConstraintLayout入门
android ConstraintLayout