Android framework 积累
文章平均质量分 50
Android framework 积累
智者向内寻求力量
智者向内寻求力量
展开
-
【ResourceManagerService 分析】第九篇:MediaCodec 的 init(),configure(),start() 函数的调用 reclaimResource()的逻辑
MediaCodec 的 init() 函数的调用 reclaimResource()的逻辑// NO_MEMORY 的原因基本上是超宏块static bool isResourceError(status_t err) { return (err == NO_MEMORY);}// reset() 的时候会调用, 创建 MediaCodec CreateByType(),CreateByComponentName() 的时候会调用status_t MediaCodec::init(co原创 2022-01-31 18:21:47 · 955 阅读 · 0 评论 -
【ResourceManagerService 分析】第八篇:MediaResource 分析
frameworks/av/services/mediaresourcemanager/aidl/android/media/MediaResourceType.aidlenum MediaResourceType { kUnspecified = 0, kSecureCodec = 1, kNonSecureCodec = 2, kGraphicMemory = 3, kCpuBoost = 4, kBattery = 5, kDrmSession原创 2022-01-23 22:59:52 · 1618 阅读 · 0 评论 -
【ResourceManagerService 分析】第八篇:核心函数 reclaimResource 分析 --未完待续
frameworks/av/services/mediaresourcemanager/ResourceManagerService.cppStatus ResourceManagerService::reclaimResource( int32_t callingPid, const std::vector<MediaResourceParcel>& resources, bool* _aidl_return) { // 增加调原创 2022-01-23 22:58:16 · 541 阅读 · 0 评论 -
【ResourceManagerService 分析】第七篇:ResourceObserverService 服务分析
ResourceObserverService 服务注册frameworks/av/services/mediaresourcemanager/ResourceObserverService.cppcpp//staticstd::shared_ptr<ResourceObserverService> ResourceObserverService::instantiate() { std::shared_ptr<ResourceObserverService> obse原创 2022-01-23 22:57:10 · 1312 阅读 · 0 评论 -
【ResourceManagerService 分析】第六篇:DeathNotifier 详解
在ResourceManagerService 类中有大量的 DeathNotifier 的使用frameworks/av/services/mediaresourcemanager/ResourceManagerService.cpp//staticstd::map<uintptr_t, sp<DeathNotifier> > ResourceManagerService::sCookieToDeathNotifierMap;class DeathNotifier : p原创 2022-01-23 22:54:41 · 497 阅读 · 0 评论 -
【ResourceManagerService 分析】第五篇:ScopedAIBinder_DeathRecipient 详解
这里将 mDeathRecipient的初始化简单分析下,::ndk::ScopedAIBinder_DeathRecipient mDeathRecipient;ScopedAIBinder_DeathRecipient 定义在 frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h/** * Convenience wrapper. See AIBinder_DeathRecipient. */c原创 2022-01-23 22:51:09 · 1666 阅读 · 0 评论 -
【ResourceManagerService 分析】第四篇:ServiceLog 内存中保存资源的操作 log
代码位置frameworks/av/services/mediaresourcemanager/ServiceLog.hclass ServiceLog : public RefBase {public: ServiceLog(); // 这里强制构造ServiceLog对象的时候,必须设置保存log的最大条数,由于是保存到内存中的,使用内存的上限是控制的。 explicit ServiceLog(size_t maxNum); // 增加 log void原创 2022-01-23 22:49:05 · 390 阅读 · 0 评论 -
【ResourceManagerService 分析】第三篇:SystemCallbackImpl 电量管理 BatteryNotifier 的代理+ CpuSet 提升等级的入口
SystemCallbackInterface 接口定义在头文件中,定义了四个public的函数frameworks/av/services/mediaresourcemanager/ResourceManagerService.hclass ResourceManagerService : public BnResourceManagerService {public: struct SystemCallbackInterface : public RefBase { //原创 2022-01-23 22:48:10 · 1728 阅读 · 0 评论 -
【ResourceManagerService 分析】第二篇:持有便解码器资源的进程状态大管家 ProcessInfo
从代码可以看出,重要的结构体 ProcessInfoInterface , 先看一下代码定义frameworks/av/media/libstagefright/include/media/stagefright/ProcessInfoInterface.hstruct ProcessInfoInterface : public RefBase { // 根据 pid 获取 该进程的优先级 virtual bool getPriority(int pid, int* priority)原创 2022-01-23 22:47:02 · 1148 阅读 · 0 评论 -
【ResourceManagerService 分析】第一篇:ResourceManagerService 服务注册
ResourceManagerService 是Android中的编解码器资源管理的服务,负责资源的创建,回收等代码路径如下/frameworks/av/services/mediaresourcemanager/frameworks/av/services/mediaresourcemanager/aidl/android/media/[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AZDXFkp8-1642948923751)(img/image-20220123原创 2022-01-23 22:44:32 · 1848 阅读 · 0 评论 -
Ubuntu 20.04 Please reinstall Android Studio from scratch
"Missing essential plugin: org.jetbrains.kotlinPlease reinstall Android Studio from scratch."修复方法,无需重新安装Android Studio,只需要删除如下两个目录就可以了/home/{your home name}/.config/Google//home/{your home name}/.local/share/Google注意:如果删除了以上两个目录,相当于重新配置AndroidStud原创 2021-11-19 23:05:20 · 3836 阅读 · 0 评论 -
BHM-AN10 OTG 刷机 记录 2021-10-18
缘起:手机刷的是dex版本并且是ROOT的,由于没有刷机包,先后尝试了在线升级,使用HiSuite进行版本重新刷都不行。最后只能花了3元钱,在网上买了一个sd 卡刷机包BMH-AN10_11.0.0.176(C00E174R6P3)_Firmware_EMUI11.0.0_05016PLR.zip购买网址:https://onfix.cn/rom?bid=6&mid=26480如下图所示:刷机指导:https://onfix.cn/course/547?bid=6&mid=2原创 2021-10-18 22:02:11 · 1564 阅读 · 0 评论 -
【R版本 MediaProvider 深入分析】第一章: 安装包的 变化
第一篇:R版本 MediaProvider的 安装包变化在Android R 版本开始 MediaProvider已经Module化了, 交付件由单一的MediaProvider 变化成了 com.android.mediaprovider.apex 文件。具体的编译bp文件如下:apex { name: "com.android.mediaprovider", // apex 文件名字 defaults: ["com.android.mediaprovider-defaults"],原创 2021-03-26 22:42:58 · 1259 阅读 · 2 评论 -
【经验】为什么Android手机连接USB后查看手机内部图片有些有缩略图,有些显示图标?
【经验】为什么Android手机连接USB后查看手机内部图片有些有缩略图,有些显示图标?一、图片内嵌缩略图原理这是什么原理呢?因为现在JPEG的文件采用了压缩的方式,其过程比较复杂。为了能让大家快速查看其缩略图,JPEG标准在文件中记录了一些EXIF信息。数码照相机拍出的图片带有相机的很多参数,这都属于EXIF信息,其中缩略图也是一部分。缩略图是一幅较小的 JPEG 图片,存储在EXIF信息段。支持 EXIF 信息内嵌缩略图数据库图片的片格式的图片除了 JPEG 格式(.jpg、.jpeg、.jpe原创 2021-03-26 21:43:41 · 1160 阅读 · 0 评论