首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
zhaolin
掘友等级
mobile
|
thoughtworks
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
13
文章 11
沸点 2
赞
13
返回
|
搜索文章
赞
文章( 11 )
沸点( 2 )
Android 开源库 #1 初代 K-V 存储框架 SharedPreferences,旧时代的余晖?(上)
今天,我们就来分析 SharedPreference 源码,在过程中依然可以学习到非常丰富的设计技巧。在后续的文章中,我们会继续分析其他 K-V 存储框架,请关注。
重构:改善既有代码的设计 读书笔记- 重构的原则
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 重构的关键在于运用大量微小且保持软件行为的步骤,一步步达成大规模的修改。
[译] Hello Apollo: 创建一个使用 GraphQL 的 Android App
如果你是一个移动应用开发人员,你一定明白更快的API和更快的应用程序的重要性。特别是在数据流量比较贵的国家,只获取所需的数据变得尤为重要。 但是,API是为多种客户端设计的,每种客户端都有不同的要求,大多数情况下你会发现这些API都没有针对移动应用进行优化。这就是像GraphQ…
【Android 修炼手册】常用技术篇 -- Android 插件化解析
2012 年 AndroidDynamicLoader 给予 Fragment 实现了插件化框架,可以动态加载插件中的 Fragment 实现页面的切换。 2013 年 23Code 提供了一个壳,可以在壳里动态化下载插件然后运行。 2013 年 阿里技术沙龙上,伯奎做了 At…
Shadow 插件化框架分析
Shadow 是最近腾讯开源的一款插件化框架。原理是使用宿主代理的方式实现组件的生命周期。 目前的插件化框架,大部分都是使用 hook 系统的方式来做的。使用代理的基本上没有成体系的框架,只是一些小 demo,Shadow 框架的开源,在系统 api 控制越来越严格的趋势下,算…
Shadow支持WebView使用file:///android_asset/协议加载插件资源的方法
在正常的App开发中,我们可以用这样的代码加载App的Assets中打包的Web页面。 Android系统实现这个功能时,并没有像我们想象的使用webview对象的Context去查找Assets资源。而是通过当前应用的ApplicationId,反查了当前安装的应用的apk路…
Shadow对插件包管理的设计
在Shadow开源的代码中,首先分为core层和dynamic层。core层就完成了插件框架的全部功能,dynamic层又将插件框架动态化起来了。然后core层本身主要也分为两部分,一部分是loader相关的,一部分是manager相关的。其中loader就是解决插件框架核心功…
Shadow的跨进程设计与插件Service原理
这篇文章介绍一下Shadow的跨进程设计和插件Service的原理。一同讲这两部分是因为它们是相关的。这篇文章假设读者对于Android的Service、Binder通信没有那么了解,因此会提及一些可能对你来说有些简单的内容。 在Android系统中,应用可以是多进程的。这在移…
1.5万字概括ES6全部特性(已更新ES2020)
第三次阅读阮一峰老师的《ES6标准入门》了,以前阅读时不细心,很多地方都是一目十行。最近这次阅读都是逐个逐个字来读,发现很多以前都没有注意到的知识点,为了方便记忆和预览全部ES6特性,所以写下本文。 本文的知识点完全是参考或摘录《ES6》里的语句,有部分语句为了方便理解和记忆,…
Shadow为什么要求插件和宿主包名一致
我们过去也用过基于各种反射实现的插件框架,用了3年左右时间,也维护了3年左右时间。在过去维护的经验中,我们就发现了插件使用单独包名(ApplicationId,下同)带来的问题。 ApplicationId一般是在build.gradle中设置的,在编译时这个字符串会被记录在2…
下一页
关注了
7
关注者
0
收藏集
1
关注标签
20
加入于
2019-10-24