随笔分类 - Android
Android学习记录
摘要:「WanLearning App」基于 Material Design 风格构建的 玩 Android 客户端,主要是为了适应Kotlin语言开发流程。 项目地址 Github 主要特点 基于Google官方宣贯的MVVM模式开发实践 基于Jetpack组件库构建:LiveData、ViewMode
阅读全文
摘要:因为项目中需要用到大量动画效果,前期尝试过几种方案,比如GIF、帧动画、lottie、SVGA等格式的动画渲染方案,发现都存在各式各样的问题。比如: 1,GIF格式。5秒的动画,一张图大小可能就会达到5 10M,然后UI那边制作背景需要透明的效果做不了,打包下载压缩包所需要更多的流量。 2,帧动画。
阅读全文
摘要:随着从事 Android 开发年限增加,负责的工作项目也从应用层开发逐步过渡到 Android Framework 层开发。虽然一开始就知道 Android 知识体系的庞大,但是当你逐渐从 Application 层向 Framework 层走的时候,你才发现之前懂得认知真是太少。之前更多打交道的
阅读全文
摘要:之前写过一篇关于Android组件化的文章, "《Android组件化框架设计与实践》" ,之前没看过的小伙伴可以先点击阅读。那篇文章是从实战中进行总结得来,是公司的一个真实项目进行组件化架构改造,粒度会分的更粗些,是对整体架构实践进行相应的总结,里面说了要打造一个组件化框架的话,需要从以下7个方面
阅读全文
摘要:在目前移动互联网时代,每个 APP 就是流量入口,与过去 PC Web 浏览器时代不同的是,APP 的体验与迭代速度影响着用户的粘性,这同时也对从事移动开发人员提出更高要求,进而移动端框架也层出不穷。 上图显示的是传统的服务端架构和客户端 App 架构对比。传统的服务端架构中最底下是一个 OS,一般
阅读全文
摘要:过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期、成长期、成熟期、现在来说已经进入饱和期。依然记得在 2010 2013 年期间,从事移动开发工作不知有多火,有工作 1 2 年经验的开发者薪资基本是上万,对招的人专业素质要求也不高,入门即可
阅读全文
摘要:说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才感觉运行速度稍微提高了点,就算手机在各种性能跑分软件面前分数遥遥领先,还是感觉无论有多大的内存空间都
阅读全文
摘要:前言 随着公司业务不断发展,移动开发项目越来越多,项目任务时间紧,我们内部开发流程是以项目为导向,有别于一般公司对产品不断迭代的做法,但移动端开发人员资源有限,需要在不同项目之间做业务场景切换开发,就会经常出现项目完成时间 Delay。面对这样的问题,我们该如何去解决呢?现在了解到的现状是每个业务组
阅读全文
摘要:说起软件测试四个字,想必大家脑海中浮现的有集成测试、系统测试、黑盒测试、白盒测试等,可能就是没想到会有单元测试。 对于大学是学习软件工程专业出身的同学来说可能会听过这四个字,对工作好几年的职场老鸟可能也听过但是没实际用过居多。绝大多数的开发人员都是忙于把手头的工作开发好,并不会把单元测试纳入工作范畴
阅读全文
摘要:最近几年移动开发业界兴起了「 插件化技术 」的旋风,各个大厂都推出了自己的插件化框架,各种开源框架都评价自身功能优越性,令人目不暇接。随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内满足需求和项目的增长,同时又能快速响应问题和迭代新需求,这就是一个矛盾点。此时,插件化技术正好风生水
阅读全文
摘要:前言 因为工作原因,最近需要研究Cordova框架,看了其中的源码和实现方式,当场在看的时候马上能理解,但是事后再回去看相关源码时候却发现之前理解的内容又忘记了,又不得不重新开始看,所以总觉得需要记录下来,这样也表明之前也是学习过,俗话说「 好记性不如烂笔头 」,想必也是体现了笔记的重要性。 目录
阅读全文
摘要:前言 上一篇讲了Android触摸事件的传递机制,具体可以看这里 "初识Android触摸事件传递机制" 。既然知道Android中触摸事件的传递分发,那么它能解决什么样的问题,在我们实际开发中如何应用,这点很重要,知道原理是为了解决问题而准备的。这篇文章的核心讲的如何解决View的滑动冲突,这个问
阅读全文
摘要:前言 今天总结的一个知识点是Andorid中View事件传递机制,也是核心知识点,相信很多开发者在面对这个问题时候会觉得困惑,另外,View的另外一个难题滑动冲突,比如在ScrollView中嵌套ListView,都是上下滑动,这该如何解决呢,它解决的依据就是View事件的传递机制,所以开发者需要对
阅读全文
摘要:近段时间一直在加班,在赶一个项目,现在项目接近尾声,那么需要对过去一段时间工作内容进行复盘,总结下比较好的解决方案,积累一些经验,我认为的学习方式,是「理论—实践—总结—分享」,这一种很好的沉淀方式。 在之前项目中,有个需求是这样的,要显示书的阅读足迹列表,具体要求是显示最近30天阅读情况,布局是用
阅读全文
摘要:Android中Drawable是一种可以在Canvas上进行绘制抽象的概念,种类很多,常见的颜色和图片都可以是一个Drawable。Drawable有很多种,它们表示一种图像的概念,但是它们又不全是图片,通过颜色也可以构造出各式各样的图像的效果。 Drawable的分类 BitmapDrawabl
阅读全文
摘要:线程在Android中是一个很重要的概念,从用途上来说,线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。在Android中扮演线程角色的还有很多,比如AsyncTask和IntentService,同时HandlerThread也是一种特殊的线程,但他们本质都
阅读全文
摘要:由于Bitmap的特殊性以及Android对单个应用所施加的内存限制,比如16M,这导致加载Bitmap的时候很容易出现内存溢出。比如以下场景: Android中常用的缓存策略也是很有意思,缓存策略一个通用的思想,可以用到很多场景中,比如在实际开发中经常需要用到Bitmap做缓存。通过缓存策略,我们
阅读全文
摘要:提到消息机制,想必大家都不陌生吧,在日常开发中不可避免要涉及到这方面的内容。从开发的角度来说,Handler是Android的消息机制的上层接口,这使得在开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。由于A
阅读全文
摘要:Android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,无法做到像PC设备那样具有超大的内存和高性能的CPU,这也意味着Android程序不可能无限制地使用内存和CPU资源,过多地使用内存会导致程序内存溢出,即OOM。而过多地使用CPU资源,一般指做大量的耗时任务,会导致手
阅读全文
摘要:Service是一种计算型组件,用于在后台执行一系列的计算任务。由于工作在后台,因此用户是无法直接感知到它的存在。Service组件和Activity组件略有不同,Activity组件只有一种运行模式,即Activity处于启动状态,但是Service组件却有两种状态:启动状态和绑定状态。当Serv
阅读全文