![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android架构
七色音阶
这个作者很懒,什么都没留下…
展开
-
Android 应用架构概述
通常一个App的成长过程都是这样的:第一阶:先用最少的成本和时间快速把东西做出来。第二阶段:积累一定用户量之后再小步快跑的迭代功能。第三阶段:性能和体验上逐步求精。我发现好多项目在第二阶段和第三阶段耗费了好多本来不应该浪费的人力成本、时间成本。究其原因就是因为前期忽略了合理的架构,我甚至经历过因为前期的设计不合理导致后期技术债务太多项目濒临死掉、整个项目组全员换掉重造锅炉的境地。所转载 2016-04-01 18:34:03 · 404 阅读 · 0 评论 -
Android分包原理
如果App引用的库太多,方法数超过65536后无法编译。这是因为单个dex里面不能有超过65536个方法。为什么有最大的限制呢,因为android会把每一个类的方法id检索起来,存在一个链表结构里面。但是这个链表的长度是用一个short类型来保存的,short占两个字节(保存-2的15次方到2的15次方-1,即-32768~32767),最大保存的数量就是65536。新版本的Android系统中修转载 2016-04-22 18:42:18 · 687 阅读 · 0 评论 -
Android应用程序插件化研究之dexmaker动态生成Activity
最近在研究Android应用的插件化开发, 插件化都是在解决以下几个问题:如何把插件apk中的代码和资源加载到当前虚拟机。如何把插件apk中的四大组件注册到进程中。如何防止插件apk中的资源和宿主apk中的资源引用冲突。我们已经解决了如何把apk中的代码和资源加载到当前应用的问题,上一篇文章中使用代理的方式实现了插件Activity的注册,demo完成了插件框架的最简单的雏形。但是我们转载 2016-04-20 09:12:42 · 1870 阅读 · 0 评论 -
Android应用程序插件化研究之资源冲突
最近在研究Android应用的插件化开发, 插件化都是在解决以下几个问题:如何把插件apk中的代码和资源加载到当前虚拟机。如何把插件apk中的四大组件注册到进程中。如何防止插件apk中的资源和宿主apk中的资源引用冲突。本章我们来研究最后一个问题:资源共享与冲突。在《Android应用程序插件化研究之AssertManager》中,我们实现了加载插件apk中资源问题,实际上我们是单独转载 2016-04-19 13:53:35 · 3494 阅读 · 1 评论 -
Android应用程序插件化研究之Activity注册
最近在研究Android应用的插件化开发,看了好几个相关的开源项目。插件化都是在解决以下几个问题:如何把插件apk中的代码和资源加载到当前虚拟机。如何把插件apk中的四大组件注册到进程中。如何防止插件apk中的资源和宿主apk中的资源引用冲突。在上篇文章中我研究了如何获取并使用插件apk中的资源的问题(文本、图片、布局等),前面两篇文章解决了插件化研究的第一个问题。本篇文章开始研究第二转载 2016-04-19 13:49:28 · 764 阅读 · 0 评论 -
Android应用程序插件化研究之DexClassLoader
最近在研究Android应用的插件化开发,看了好几个相关的开源项目。插件化都是在解决以下几个问题:如何把插件apk中的代码和资源加载到当前虚拟机。如何把插件apk中的四大组件注册到进程中。如何防止插件apk中的资源和宿主apk中的资源引用冲突。就这几个问题,我开始研究插件化开发实现的相关技术。在上篇文章中我讲了如何把插件apk中的class加载到当前进程的问题,本篇文章主要讲第一点的第转载 2016-04-18 19:22:39 · 492 阅读 · 0 评论 -
Android应用程序插件化研究之AssertManager
最近在研究Android应用的插件化开发,看了好几个相关的开源项目。插件化都是在解决以下几个问题:如何把插件apk中的代码和资源加载到当前虚拟机。如何把插件apk中的四大组件注册到进程中。如何防止插件apk中的资源和宿主apk中的资源引用冲突。就这几个问题,我开始研究插件化开发实现的相关技术。在上篇文章中我讲了如何把插件apk中的class加载到当前进程的问题,本篇文章主要讲第一点的第转载 2016-04-19 13:42:00 · 883 阅读 · 0 评论 -
Android App的设计架构:MVC,MVP,MVVM与架构经验谈
转载:https://www.tianmaying.com/tutorial/AndroidMVC和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计:我的App需要应用这些设计架构吗?MVC,MVP等架构讲的是什么?区别是什么?本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注...转载 2016-04-08 09:24:02 · 1871 阅读 · 1 评论 -
Android 程序框架设计
1、一些概念模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。什么是设计模式?设计模式是在某种特别的情况下,针对某种问题的某种典型、通用的解决方法。我们是需要适当了解并学习一些设计模式,在程序开发过程中,总是会涉及到一些框架设计原创 2016-04-08 09:15:59 · 2397 阅读 · 1 评论 -
Android App整体架构设计的思考
1. 架构设计的目的 对程序进行架构设计的原因,归根到底是为了提高生产力。通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合。这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续的测试以及定位问题。但设计不能违背目的,对于不同量级的工程,具体架构的实现方式必然是不同的,切忌犯为了设计而设计,为了架构而架构的毛病。举个简单转载 2016-04-12 09:52:27 · 740 阅读 · 0 评论 -
插件化的基石 -- apk动态加载
随着我街业务的蓬勃发展,产品和运营随时上新功能新活动的需求越来越强烈,经常可以听到“有个功能我想周x上,行不行”。行么?当然是不行啦,上新功能得发新版本啊,到时候费时费力打乱开发节奏不说,覆盖率也是个问题。苏格拉底曾经说过:“现在移动端的主要矛盾是产品日益增长的功能需求与平台落后的发布流程之间的矛盾”。当然,作为一个靠谱的程序猿,我们就是为了满足产品的需求而存在的(正义脸)。于是在一个阳光明媚转载 2016-04-12 09:34:43 · 640 阅读 · 0 评论 -
App工程结构搭建:几种常见Android代码架构分析
关于Android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐的代码,优美的分层总是一种舒服的享受的。从艺术的角度看,其实我们是在追求一种美。本文先分析几个当今比较流行的android软件包,最后我们汲取其中觉得优秀的部分,搭建我们自己的通用android工程模板。1. 微盘微盘的架构比较简单,我把最基本,最主干的画了出来:转载 2016-04-01 18:37:20 · 454 阅读 · 0 评论 -
Android 程序框架设计
1、一些概念模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。什么是设计模式?设计模式是在某种特别的情况下,针对某种问题的某种典型、通用的解决方法。我们是需要适当了解并学习一些设计模式,在程序开发过程中,总是会涉及到一些框架设计,模块设计之类的东西,如果能很好原创 2016-07-06 09:25:55 · 286 阅读 · 0 评论