android产品研发
主要讲解android产品研发过程中涉及到的技术,技巧,实践等
一片枫叶_
专注
展开
-
Android产品研发(二十五)-->MVC/MVVM/MVP简单理解
本文我们将讲解Android开发中常常涉及到的MVC/MVP/MVVM等模式的基本概念。许多童鞋对Android开发中涉及到的MVC、MVP、MVVM这三种模式不是太清楚,我认为无论是MVC、MVP亦或者是MVVM都是一种代码组织方式,通过这种代码组织方式能够让代码更有层次感,各个层次主要负责各自的工作,这样降低了整个项目的代码逻辑耦合度与可读性原创 2016-10-15 16:02:02 · 4374 阅读 · 1 评论 -
Android产品研发(二十四)-->内存泄露场景与检测
本文我们将讲解一下关于Android开发过程中常见的内存泄露场景与检测方案。Android系统为每个应用程序分配的内存是有限的,当一个应用中产生的内存泄漏的情况比较多时,这就会导致应用所需要的内存超过这个系统分配的内存限额,进而造成了内存溢出而导致应用崩溃。在实际的开发过程中我们由于对程序代码的不当操作随时都有可能造成内存泄露...原创 2016-09-29 09:19:27 · 5191 阅读 · 2 评论 -
Android产品研发(二十三)-->Android中保存静态秘钥实践
本文我们将讲解一个android产品研发中可能会碰到的一个问题:如何在App中保存静态秘钥以及保证其安全性。许多的移动app需要在app端保存一些静态字符串常量,其可能是静态秘钥、第三方appId等。在保存这些字符串常量的时候就涉及到了如何保证秘钥的安全性问题。如何保证在App中静态秘钥唯一且正确安全,这是一个很重要的问题,公司的产品中就存在着静态字符串常量类型的秘钥,所以一个明显的问题就是如何生成秘钥,保证秘钥的安原创 2016-07-21 22:37:44 · 12924 阅读 · 8 评论 -
Android产品研发(二十二)-->Android实用调试技巧
本文我们将讲解android中的调试技巧。程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。在android开发过程中熟练的使用调试技巧是一个很重要的方面。android的调试技巧包括熟练使用android中的日志API,自定义android日志框架,通过gradle配置调试日志,android studio的调试技巧等原创 2016-07-18 22:55:19 · 7784 阅读 · 2 评论 -
Android产品研发(二十一)-->Android中的UI优化
本文我们将讲解一下android UI优化方面的知识。android系统的优化分为好多方面:比如性能优化,UI优化,资源文件优化等等,这里我们先暂时讲解android UI优化方面的知识点原创 2016-07-16 21:54:02 · 9351 阅读 · 2 评论 -
Android产品研发(二十)-->代码Review
本文我们将讲解android中的代码Review。良好的产品开发迭代过程中,代码Review是一个必不可少的步骤,通过代码Review能够提高产品质量,增强团队成员之间的沟通,提高开发效率。所以团队开发活动中定时进行代码Review就显得很有必要了原创 2016-07-14 21:14:33 · 12060 阅读 · 2 评论 -
Android产品研发(十九)-->Android studio中的单元测试
本文我们将讲解如何在android studio中进行单元测试,其可以很方便的为我们提供功能性测试,所以如果项目中有用到测试数据的时候,可以先进行单元测试,如果可以正常输出数据了,然后再到UI中执行,这样会提高一些工作效率原创 2016-07-11 21:42:37 · 19464 阅读 · 7 评论 -
Android产品研发(十八)-->webview问题集锦
本文中我们将介绍一下android中webview在使用过程中会遇到的一些问题。这些问题主要是webview在使用过程中我已经趟过的坑,希望通过这篇文章的介绍能够帮助大家更好的使用webview原创 2016-07-06 21:26:57 · 8418 阅读 · 2 评论 -
Android产品研发(十七)-->Hybrid开发
本文将介绍android中hybrid开发相关的知识点。hybrid开发实际上是混合开发的意思,这里的混合是H5开发与Native开发混合的意思。下面的文章中我们将逐个介绍一下hybrid开发的概念、hybrid开发的优势、android中如何实现hybrid开发、简单的hybrid开发的例子,以及在产品实践中对hybrid开发的应用,希望通过本篇文章的介绍让您能够对android中的hybrid开发有一个基本的认识原创 2016-07-04 21:47:27 · 20718 阅读 · 6 评论 -
Android产品研发(十六)-->开发者选项
本文主要介绍Android开发中常常涉及到但又不是被人重视知识点:开发者选项。主要涉及到如何打开开发者模式,开发者选项中有哪些操作菜单以及各自的作用,如何清除手机数据,清除手机数据具体清除那些数据等等原创 2016-07-02 21:35:12 · 16527 阅读 · 3 评论 -
Android产品研发(十五)-->内存对象序列化
本文将讲解android中数据传输中需要了解的数据序列化方面的知识,我们知道android开发过程中不同Activity之间传输数据可以通过Intent对象的put**方法传递,对于java的八大基本数据类型(char int float double long short boolean byte)传递是没有问题的,但是如果传递比较复杂的对象类型(比如对象,比如集合等),那么就可能存在问题,而这时候也就引入了数据序原创 2016-06-30 22:32:21 · 10340 阅读 · 3 评论 -
Android产品研发(十四)-->App升级与更新
本文将讲解app的升级与更新。一般而言用户使用App的时候升级提醒有两种方式获得:- 一种是通过App Store获取- 一种是打开应用之后提醒用户更新升级而更新操作一般是在用户点击了升级按钮之后开始执行的,这里的升级操作也分为两种形式:- 一般升级- 强制升级原创 2016-06-28 21:58:01 · 31760 阅读 · 11 评论 -
Android产品研发(十三)-->App轮询操作
本文将讲解app端的轮训请求服务,一般而言我们经常将轮训操作用于请求服务器。比如某一个页面我们有定时任务需要时时的从服务器获取更新信息并显示,比如当长连接断掉之后我们可能需要启动轮训请求作为长连接的补充等,所以这时候就用到了轮训服务原创 2016-06-21 22:00:46 · 27240 阅读 · 13 评论 -
Android产品研发(十二)-->App长连接实现
本文中我们将讲解一下App的长连接实现。一般而言长连接已经是App的标配了,推送功能的实现基础就是长连接,当然了我们也可以通过轮训操作实现推送功能,但是轮训一般及时性比较差,而且网络消耗与电量销毁比较多,因此一般推送功能都是通过长连接实现的原创 2016-06-17 18:47:58 · 52794 阅读 · 33 评论 -
Android产品研发(十一)-->应用内跳转Scheme协议
这里的scheme是一种页面内跳转协议,主要用于支持一下几种场景:- 服务器下发跳转路径,客户端根据服务器下发跳转路径跳转相应的页面;- H5页面点击锚点,根据锚点具体跳转路径App端跳转具体的页面;- App端收到服务器端下发的PUSH通知栏消息,根据消息的点击跳转路径跳转相关页面原创 2016-06-15 23:02:30 · 37305 阅读 · 8 评论 -
Android产品研发(十)-->尽量不使用静态变量保存数据
转载请标明出处:一片枫叶的专栏上一篇文章中我们讲解了Android中的几种常见网络协议:xml,json,protobuf等,以及各自的优缺点,一般而言主要我们的App涉及到了网络传输都会有这方面的内容,具体可根据项目的需求确定各自的网络传输协议。而本文讲解的其实并不是一个技术方面,而是一个android产品研发过程中的技巧:尽量不使用静态变量保存核心数据。而本文中将要介绍的是App原创 2016-06-13 18:34:37 · 17825 阅读 · 17 评论 -
Android产品研发系列
本个系列的文章主要是讲解android产品研发过程中一些需要注意的技术技巧与实践。其主要面对产品研发,对App稳定性,友好型,兼容性要求较高的App原创 2016-06-12 19:51:13 · 13293 阅读 · 14 评论 -
Android产品研发(九)-->App网络传输协议
转载请标明出处:一片枫叶的专栏上一篇文章中我们讲解了App的数据统计,其主要分为两种:使用第三方服务统计和自身实现数据统计。一般而言我们使用第三方统计服务已经可以很好的满足我们的也无需求了,只是部分数据敏感性App,可能自身实现数据统计服务是一个更好的选择。而本文中将要介绍的是App端的网络传输协议。那么这里首先需要明确一点的是什么是网络传输协议呢?好吧,这里首先套用一段百度百科的定义:原创 2016-06-08 20:02:29 · 22073 阅读 · 5 评论 -
Android产品研发(八)-->App数据统计
上一篇文章中我们介绍了android社区中很火的热修复功能,主流的热修复原理上其实分为两种,一种是通过利用dex的加载顺序实现热修复功能,一种是通过native层实现指针替换实现热修复功能,两种各有利弊可以根据自身产品的需要选择不同的方案。而文本将要介绍一下android产品中另一项基础功能-数据统计。App数据统计的意义在于通过统计用户的行为方式有针对性的更新展示算法,根据用户的行为习惯更新原创 2016-06-07 19:30:35 · 13609 阅读 · 2 评论 -
Android产品研发(七)-->Apk热修复
上一篇文章中我们讲解了App的数据统计,其主要分为两种:使用第三方服务统计和自身实现数据统计。一般而言我们使用第三方统计服务已经可以很好的满足我们的也无需求了,只是部分数据敏感性App,可能自身实现数据统计服务是一个更好的选择。而本文中将要介绍的是App端的网络传输协议。那么这里首先需要明确一点的是什么是网络传输协议呢?好吧,这里首先套用一段百度百科的定义: 网络传输协议或简称为传送协原创 2016-06-05 18:49:30 · 14455 阅读 · 4 评论 -
Android产品研发(六)-->Apk混淆
本文主要讲解Apk的混淆,这里的混淆分为两种代码混淆和资源文件混淆。实际的产品研发中为了防止自己的劳动成果被别人窃取,混淆代码能有效防止apk文件被反编译,进而查看源代码。说来惭愧,作为互联网创业公司的我们也确实对竞品Apk反编译研究过,如果Apk混淆之后确实对理解源码的业务流程造成了困扰,这也从侧面说明了Apk混淆的重要性原创 2016-06-04 17:50:33 · 17076 阅读 · 3 评论 -
Android产品研发(五)-->多渠道打包
国内众多android开发环境有众多的应用市场,产品存在着不同渠道统计的需求,为此android开发人员需要为每个应用市场发布一个安装包,这是一件很苦逼的事,更换成android studio之后自带的编译工具gradle其实已经可以实现多渠道打包的功能了;下面主要简单介绍一下gradle如何实现的多渠道打包。gradle多渠道打包; 美团对渠道打包; 第三方多渠道打包;(一)在and原创 2016-06-03 20:15:37 · 18287 阅读 · 4 评论 -
Android产品研发(四)-->减小Apk大小
随着移动技术的深入发展,各种炫酷效果的更新,在我们追求UI与UE的同时一个不如忽视的问题逐渐暴露出来,那就是apk文件越来越大,可能有的童鞋会说现在都是wifi环境,apk文件增大几M不是什么大不了的问题,这其实也是有一定道理的,但是作为开发人员的我们这绝不是我们认为可以忽略这个问题的理由。优化Apk大小也是优化我们App体验的一个重要方面,虽然可能它不是那么的重要。那么到底是那些原因让我们的Apk原创 2016-06-02 18:05:32 · 17688 阅读 · 7 评论 -
Android产品研发(三)-->基类Activity
在实际的android产品研发中,一般的我们在写Activity的时候都会继承于一个基类Activity,该Activity是所有的Activity的基类。在该基类中我们主要用于重写一些共有的逻辑。好处是显而易见的对于一些Activity的共有逻辑我们不必要在每个Activity中都重新写一遍,只需要在基类Activity中写一遍就好了原创 2016-06-01 21:03:10 · 14889 阅读 · 25 评论 -
Android产品研发(二)-->启动页优化
上一篇文章中我们介绍加单说明了一下android的编码规范,这里我是强烈建议大家在团队合作中约定编码规范的,哪怕是一个并不是十分规范的规范总比没有规范好得多,尤其是团队产品的研发,对产品的持续迭代过程中你会越发的意识到编码规范对产品迭代的好处,当然了,这里并不是要求大家一定按照文中给出的编码规范作为团队中使用的编码规范,而是希望大家在团队合作中能够约定出自身的编码规范,哪怕其并不是十分的规范。原创 2016-05-31 16:31:17 · 16061 阅读 · 7 评论 -
Android产品研发(一)-->实用开发规范
前面一系列的文章中我们主要讲解了Android系统中的一些源码流程,而从本文开始讲解一下android产品中经常需要使用的技术,方法,实践等等。 这里暂时大概列一下产品研发中常见的方法技术等: 1.android产品研发之代码规范 2.android产品研发之启动页优化 3.android产品研发之而本文中主要讲解的是对Android产品优化之启动页优化。最近观看友盟统计发现App原创 2016-05-30 21:10:23 · 19357 阅读 · 11 评论