首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
架构
订阅
苏白_2016
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
腾讯零反射全动态Android插件框架Shadow解析
最近几年,腾讯对于开源事业也是越来越支持,今天要说的就是在腾讯被广泛使用的Shadow框架,一个经过线上亿级用户量检验的反射全动态Android插件框架。 Shadow是一个腾讯自主研发的Android插件框架,经过线上亿级用户量检验。 Shadow不仅开源分享了插件技术的关键…
Android进阶(七)Android中的ClassLoader
ClassLoader是一个抽象类,其中定义了ClassLoader的主要功能。 SecureClassLoader继承了抽象类ClassLoader,但SecureClassLoader并不是ClassLoader的实现类,而是拓展了ClassLoader类加入了权限方面的功…
3分钟带你看懂android的Binder机制
最近一段时间由于工作,接触到framework部分比较多一点,也难免要和Binder打一些交道,也整理了一些相关知识,但准备写这篇文章时,还是有些慌。而且关于整个Binder机制的复杂程度不是三言两语能描叙清楚的,也害怕自己的理解有些偏差,误导一些朋友(ps:反正也没人看...…
Android窗口管理分析(4):Android View绘制内存的分配、传递、使用
前文Window添加流程中描述了:在添加窗口的时候,WMS会为APP分配一个WindowState,以标识当前窗口并用于窗口管理,同时向SurfaceFlinger端请求分配Layer抽象图层,在SurfaceFlinger分配Layer的时候创建了两个比较关键的Binder对…
51信用卡 Android 架构演进实践
随着业务的快速扩张,原本小作坊式的单个工程的开发模式越来与不能满足实际需求。早在两年多以前,51信用卡管家就向下沉淀出了单独的公用基础库,一些通用的功能组件和个别独立的业务被拆分成 SDK,形成了一套中型项目、多人并行的开发模式,也为未来组件化拆分做准备。 除了以上问题,动态化…
Android 视频无缝切换2.0
上一篇文章简单讲解了腾讯新闻的视频无缝切换效果的实现(视频在播放中进行页面切换),如果你没有看过上篇,可以先去看看Android 高仿腾讯新闻视频切换效果。 上一篇写得比较随意,只是讲解了两个页面间如何实现视频在播放中的切换(切换播放器的container)及滚动停止播放等,部…
Android进阶(十)资源和Service的插件化
res目录下存放的资源文件。编译时会在R文件中生成资源文件的十六进制值。res目录下资源通过Context.getResource方法获取到Resource对象,然后通过getXXX获取资源。 assets目录下存放的原始文件,编译时不会被编译。通过AssetManager的o…
Android 架构之长连接技术
上一篇文章《Android 架构之网络框架(上)》中,我们谈过了网络框架OkHttp、网络加速方案如HttpDNS、数据压缩与序列化等技术点。本文我们结合腾讯Mars框架和美团Shark体系等业内主流长连接方案,谈一谈长连接技术的各个方面。 除了大家常用的Http短连接,大型A…
Android进阶(六)Binder机制
进程隔离是为保护操作系统中进程互不干扰而设计的一组不同硬件和软件的技术。进程数据不共享,进程A的虚拟地址和进程B的虚拟地址不同,这样就防止进程A将数据信息写入进程B,保证了数据的安全性。 进程空间分为内核空间和用户空间,内核空间(Kernel)是系统内核运行的空间。用户空间(U…
从零开始仿写一个抖音App——基于FFmpeg的极简视频播放器
1.需要一些 git 的知识,git中文文档。 2.我的FFmpeg:我 fork 的 FFmpeg 项目,源码的编译已经完成,编译的 shell 脚本在根目录下。 5.下面使用 project 指代 clone 下来的 FFmpeg 项目的路径。 6.下面的操作都是基于 Ma…