自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 模型资源加载引起的内存对齐问题

原先以为是模型解析的时候,模型里的数据类型不确定,可能是void* 也可能是float*等等,导致赋值的时候有问题,可后来想想模型的制定应该没这么蠢吧,so继续追踪下去,打印所有解析的模型资源数据,发现都是4字节倍数,那这很明显了啊,只要模型资源起始地址对齐的,那我们需要解析的数据肯定都是对齐的,打印了下模型资源地址果然是像0x0x5594bb4a7f 这样的,对,就是不对齐,为啥呢,再看下模型资源。重新申请个4的倍数的内存,这样会确保ptr 起始地址是4字节对齐的,给原来的值拷贝进去,ok。

2022-11-02 17:31:45 864 1

原创 pcm 32bit float 双声道转换16bit单声道

音频多通道是按照采样点进行交叉排列,比如双声道的16bit音频,16bit为一个采样点,那就是按照进行交叉排列,如果是32bit,那每个采样点是32bit数据,c语言demo双声道转单声道。

2022-09-28 16:11:11 2256

转载 requires unsupported dynamic reloc R_ARM_REL32; recompile with -fPIC

地址无关代码,在64位下编译动态库的时候,经常会遇到下面的错误/usr/bin/ld: /tmp/ccQ1dkqh.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC提示说需要-fPIC编译,然后在链接动态库的...

2019-08-16 15:10:33 2477

原创 Android Anr 原理分析

最近做了ANR的一些研究,讲述自己对ANR流程的一些总结,本文主要从ANR流程上来看不分析细节,需要细节的推荐https://duanqz.github.io/2015-10-12-ANR-Analysis#213-input%E5%A4%84%E7%90%86%E8%B6%85%E6%97%B6非常全面.ANRgoogle官方有比较清楚的解释,同时指明了ANR发生在主线程,这也隐含表...

2019-07-07 15:10:52 458

原创 Textpaint.breakText() 测量返回值不正确的处理

最近在使用Textpaint.breakText()遇到返回值不正确的情况,在输入的字符中含有 "fi"会返回错误的行数,原因是"fi"对被当做一个符号来计算了,目前这个bug谷歌还没有解决这里提供两种方案来解决1.可以对输入的字符中的"fi"替换,用"_!"来替换"fi"用breakText计算出结果后再替换回"fi".2.使用measureText来替换br...

2019-04-04 17:09:30 1840

原创 i2c-tools读写16位寄存器调试

最近在rk3399平台上更换调试了录音小板,原rk3399的es7243 修改新的adc小板,一开始硬件就有问题,但因为对硬件不熟悉,导致做了汗多无用功,言归正传,换adc录音小板,首先应该用i2ctools 检测寄存器硬件i2c ok的情况下能使用i2cdetect 能检测到设备,驱动里配置了地址就显示为UU,没有配置地址显示具体值,比如10 一般寄存器都...

2019-04-04 16:53:25 10087 3

转载 关于Android的.so文件你所需要知道的

App中可能出错的地方处理.so文件时有一条简单却并不知名的重要法则。你应该尽可能的提供专为每个ABI优化过的.so文件,但要么全部支持,要么都不支持:你不应该混合着使用。你应该为每个ABI目录提供对应的.so文件。当一个应用安装在设备上,只有该设备支持的CPU架构对应的.so文件会被安装。在x86设备上,libs/x86目录中如果存在.so文件的话,会被安装,如果不存在,则会选择armea

2017-12-27 14:20:29 4418

转载 做异步的话需要关闭Handler吗?如何关闭?直接关闭线程不可以吗?

activity onDestory() 的时候调用          handler.removeCallbacksAndMessages(null);andler可以在任何有Looper的线程中创建,当然通过Handler提交的事务也是在对应的那个线程中执行的。所以,如果你的Handler是在子线程中创建的,退出字线程HandlerThread的Looper对象,不在操作Message

2017-01-23 10:34:26 1679

转载 android系统信息(内存、cpu、sd卡、电量、版本)获取

一、内存(ram):android的总内存大小信息存放在系统的/proc/meminfo文件里面,可以通过读取这个文件来获取这些信息:Java代码  public void getTotalMemory() {String str1 = "/proc/meminfo";String str2="";try {FileReader fr = new

2017-01-10 18:58:46 535

转载 关于使用AIDL出现空指针的解决办法

关于使用AIDL出现空指针的解决办法使用AIDL进行远程调用的时候出现的空指针异常,解决过程稍微有点小曲折。具体安下1.先贴异常信息1 ERROR/AndroidRuntime(9435): FATAL EXCEPTION: main2 ERROR/AndroidRuntime(9435): java.lang.NullPointerException3 ERR

2017-01-06 20:38:56 746

转载 用10进制小数不能精确表示某些三进制小数

用10进制小数不能精确表示某些三进制小数0.1(3)=0.33333333333……(10)同理,用二进制小数也不能精确表示某些10进制小数。C/C++ code?1234567891011121314151617

2016-12-14 12:27:30 674

转载 java 文件同步读写的几种方式

方案1:利用RandomAccessFile的文件操作选项s,s即表示同步锁方式写?1RandomAccessFile file = newRandomAccessFile(file, "rws");方案2:利用FileChannel的文件锁?

2016-12-13 15:23:50 5304

原创 硬件加速导致的自定义drawable的内存泄漏

最近做android 上图标矢量化工作,选取SVG格式做为矢量化方案,方法和微信开发SVG类似,最后转换SVG文件生成java代码drawable类,过程下次再说。android中读取java代码绘制记录,用canvas绘制。在这里遇到个问题,在用canvas绘制图片时,如果对同一个view绘制多次,会使native内存不断增长,native里内存不能释放,经过排查,最后发现是默认使用硬件加速导致的

2016-06-02 19:29:21 1559 1

原创 开发tips

1. android studio 提示 too many characters in character literal,字符串 使用‘ ’了2.自定义view时,可能造成图像锯齿,关闭硬件加速可解决,设置软件this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);会让增加heapsize的占用3.Messag...

2016-05-17 09:11:52 334

原创 Android RecyclerView实现列表多选

使用Recyclerview实现多选模式,基本思路是为Adapter增加一个Boolean集合,用以标记列表条目的状态

2016-03-24 17:51:32 16726 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除