写给Android App开发人员看的Android底层知识(1)

这是一组写给App开发人员看的系列文章,先后介绍了Binder、AIDL、四大组件、AMS、PMS等核心思想,以及App安装流程、App启动流程。因为面向的读者是App开发人员,所以尽量不贴底层的代码,用浅显易懂的语言,为读者展现一个全新的世界。...
阅读(703) 评论(1)

App设计模式纵横谈(2)

那我们今天就从“我们应该多用类的引用,而不是类的继承”这个点讲起来。...
阅读(924) 评论(1)

App设计模式纵横谈(1)

今天聊聊我沉淀比较久的一门技术,设计模式。这里是第一篇,算是概论,讲一下我这些年来学习设计模式的心路历程。      (一)     设计模式和数据结构,在日常开发工作中,无论是App还是后端Java开发,都非常实用,是必须要牢牢掌握的两门基本功。...
阅读(3882) 评论(3)

React Native学习(1):怎么快速学习一门新技术

这是我技术公众号的第一篇文章,也是React Native系列文章的第一篇,对我的文章感兴趣的可以加我微信16230091进行关注。...
阅读(2046) 评论(3)

App竞品技术分析 (8)模块化拆分

1 iOS资源拆分与模块化   对于iOS,很多App已经注意到图片会散落在各个地方,于是会把图片、配置文件、xib按照模块进行归类,放到各自的bundle包中。做得最好的,是一家电商App,会在App包中的一级目录下面,看不到任何图片,而只有若干bundle,如图9-18所示:      图9-18 某款App包中,对资源进行了模块化拆分   只对资源进行模块化拆分是远远不够的。一定要对...
阅读(5600) 评论(1)

App竞品技术分析 (7)逼出来的奇思妙想

1 一切皆可配置 1.1 使用XML配置首页,防止因加载不到数据而没有入口   在很多电商类App中,我们会看到有一个配置文件或者JSON文件,里面存放着首页展示所需要的所有数据,包括图片、文字等等,点击后能进入各个品类这些二级页面,如图9-15所示,我们可以看到,这个首页由3个Tab组成:首页、发现、个人中心,配置文件中指定了每个Tab的显示文字、点击后对应的ViewController、所...
阅读(4963) 评论(0)

App竞品技术分析 (6)热修复

1 Native页面和Html5页面的相互切换   终于说到这里了,Native页面和Html5页面的相互切换,这是最激动人心的技术,比我一直在研究的App插件化技术还要震撼。因为插件化技术只能适用于Android,对iOS无能为力。即使如此,搞Android插件化技术需要投入大量的人力物力。如果团队不够大是不建议搞插件化编程的。记得2年前我去一家公司面试,他们当时就在搞App插件化,面试时问我...
阅读(10139) 评论(7)

App竞品技术分析 (5)数据采集工具

1 页面跳转器   页面跳转器是页面打点的前提。   对于Android而言,有Intent来帮助我们进行页面跳转和传值。但是你会发现,想从A页面跳转到B页面,在A页面要声明B页面的实例,这是一个强引用,如下所示: Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(inte...
阅读(5543) 评论(4)

App竞品技术分析 (4)性能优化

1 App自动选取最佳服务器的策略   我们经常看到App中会包含有一个服务器列表文件,开发人员和测试人员可以随意切换到任意服务器进行开发测试工作。   这只是服务器列表文件的一种功用,是给开发和测试人员使用的,为此我们需要为App设计一个后门,由他们手动进行切换,相关内容请参见2章节。   服务器列表文件还有另一种作用,就是由App自己来决定选用哪个服务器作为MobileAPI服务器。...
阅读(2144) 评论(2)

App竞品技术分析 (3)减小安装包的体积

1 从几件小事说起   春节在家帮姐姐的iPhone手机安装市面上形形色色的App,忘记她是使用4G流量包月了,于是在下载了10个App后,不但耗尽了流量,还按照0.3元/兆的价格扣了七八十元流量费用。后来我检查了这几个App的体积,发现每个App体积都是40-50M的样子,这让我很吃惊,因为我记得两年前这些App也就在10-20M的样子。   另一件记忆犹新的事情,是去公园景点游玩,当时公园...
阅读(5608) 评论(5)

App竞品技术分析 (2)Html5页面的打开速度

1 把Html5页面嵌入到Zip包中   App中会使用很多Html5页面。我们一般使用内置的WebView来打开一个外部的URL地址,这样一来,速度就肯定不如App原生的页面快了。   我们可以打开几个App的Html5页面来进行比较,差距立刻就能看出来。当年我就是被老板追着问为什么竞争对手的App打开Html5也就1-2秒,而我们的App加载Html5页面就跟牛车一样慢。   我看过很多...
阅读(4656) 评论(5)

App竞品技术分析 (1)App启动速度

无论是哪个App,它的启动步骤都大体相同,如图9-3所示:      图9-3 App启动流程   我们仔细研究一下图9-3中的每一步都做了哪些事情:   1)Splash广告的逻辑是,首次加载App包中的图片,同时调用MobileAPI的一个接口,获取下一次打开的图片URL,把这张图片存放在本地。那么下次再打开这个App时,就加载这张新图片,同时,仍然调用MobileAPI的那个接口,看...
阅读(5052) 评论(2)

App竞品技术分析 序言

这一篇文章,我整整写了两个月,期间,我仔细研究了上百款App的技术实现,管窥到很多先进的思想,如安装包的结构和大小、开机速度、HTML5页面的打开速、性能优化、数据采集工具、ABTest、热修补、模块化拆分等。希望通过本章的介绍,能在各个公司成立这样的一个部门或者团队,从产品和技术两个维度进行竞品分析的研究工作。 1 竞品分析概述 1.1 App竞品定义 我们通常将同行业内竞争对手的产品定义...
阅读(7958) 评论(10)
    我的在线直播课程(每晚8点到九点)
    直播地址 直播交流群
     
    我现在每天直播Android和iOS企业级开发技术,大家有兴趣可以扫码进我的技术直播群,或者加我微信好友。
    我的微信及微信公众号
    我的微信 我的微信公众号
    我的新书
    个人资料
    • 访问:59448次
    • 积分:796
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:44条
    文章分类
    文章存档
    最新评论