- 博客(6)
- 收藏
- 关注
原创 Android数据库升级
2)v2.0DATABASE_VERSION=1001onCreate添加account(v1.0代码不变)3)v3.0DATABASE_VERSION=1002onCreate添加account(v1.0代码不变)//请不要修改FIRST_DATABASE_VERSION的值,其为第一个数据库版本大小。//请不要修改FIRST_DATABASE_VERSION的值,其为第一个数据库版本大小。//请不要修改FIRST_DATABASE_VERSION的值,其为第一个数据库版本大小。
2025-01-20 15:30:11
617
原创 android基于类装载器DexClassloader设计“插件框架”
其实是这样的,这个java文件被当做程序的一部分(本来就是一部分)(jar包是以外部jar的方式添加进去的,外部jar包会作为程序的一部分被最终的程序文件中,也会报同样的错误),从而使得在主程序和插件程序中存在包名相同但验证码不同的类文件。copy过去报错,并且这种方式也不太现实,因为提供给插件开发者的时候肯定是以jar包的形式进行提供,而不是以原文件的形式提供,//dex解压后的目录,注意,这个用宿主程序的目录,android中只允许程序读取写自己。//获得指定的activity的信息。
2025-01-20 14:57:34
704
原创 AMS重要的数据结构解析(二):TaskRecord
这里有几个关键点,关键点1是弱引用,GC的sGcWatcher引用的对象是要被回收的,这样回收前就会走关键点2,遍历执行之前通过BinderInternal.addGcWatcher添加的回调,执行完毕后,重新为sGcWatcher赋值新的弱引用,这样就会走下一个轮回,这就是为什么GC的时候,有机会触发releaseSomeActivities,其实,这里是个不错的内存监测点,用来扩展自身的需求。而对于我们上文说的回收不可见Task的时机是在关键点2:Java使用内存超过3/4的时候,调用AMS的。
2025-01-20 13:19:42
826
原创 FFMPEG总结 -- 音视频编解码和转码(全)_ffmpeg音频转码
/ 无法设置输出样本格式。// AVFrame结构,av_frame_alloc申请内存,av_frame_free释放内存。if ((ret = av_read_frame(ifmt_ctx, &packet)) < 0) // 从输入文件中读取一个AVPacket。
2025-01-17 07:18:59
1272
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅