
Android进阶
享阅工作室
本人多年软件开发和管理经验,在多家互联网公司担任过高级软件开发、架构师、技术经理、技术总监等。工作认真负责,态度诚恳严谨,思维活跃,勇工并挑战解决项目研发中的难题。主要研究方向移动端和前端开发,包括RN、Flutter等跨平台开发以及Android、Vue、React、Node.js、SpringBoot等都有所研究。生活中爱好广泛,乐观向上,易于与不同类型人群沟通,能在较大的压力下保持良好的工作心态,将百分百的热情投入到每一天的每一分钟。
展开
-
android重要的依赖库与SDK收集
1、必选的库:gradle-retrolambda——Android的lambda表达式插件fresco——Android最屌图片加载库material-dialogs——Material Dialog向下兼容库material-ripple——Ripple向下兼容库fastjson——最快JSON解析butterknife——View注解库和配套插件android-b原创 2015-11-23 17:30:30 · 963 阅读 · 0 评论 -
Android中利用java反射机制Reflect
一、什么是反射机制在程序运行期间,java系统始终为所有的对象维护一个运行时的类型标识,这个信息保存着每个对象所属的类的足迹,虚拟机利用运行时信息选择相应的方法执行。然而,可以通过专门的java类访问这些信息,保存这些信息的类被称为Class(这个Class不是类名关键字的Class),这个名字很容易让人混淆。Object类中的getClass()方法将返回一个Class类型的实例转载 2016-06-22 18:20:07 · 597 阅读 · 0 评论 -
Android中图片的三级缓存
什么是三级缓存 三级缓存就是网络、磁盘(本地)、内存缓存网络缓存, 不优先加载, 速度慢,浪费流量本地缓存, 次优先加载, 速度快内存缓存, 优先加载, 速度最快为什么要使用三级缓存如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户原创 2016-07-11 18:24:28 · 551 阅读 · 0 评论 -
Android 改变statusbar背景-沉浸式状态栏与导航栏
最近在GitHub上看到一个改变状态栏背景的源代码,所以记录一下,以备后面的项目使用。 项目地址:SystemBarTint:点击打开链接 可以设置 statusbar 背景,原理是在 Window 的 DocView 添加 view,大家可以下载这个项目学习如何使用。 其实,Android 4.4 增加了透明状态栏与导航栏的功能,处女座的福音原创 2016-03-04 16:14:36 · 1672 阅读 · 0 评论 -
Android View绘制的流程
要知道,任何一个视图都不可能凭空突然出现在屏幕上,它们都是要经过非常科学的绘制流程后才能显示出来的。每一个视图的绘制过程都必须经历三个最主要的阶段,即onMeasure()、onLayout()和onDraw(),下面我们逐个对这三个阶段展开进行探讨。整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为:翻译 2014-09-30 13:40:03 · 495 阅读 · 0 评论 -
Android多屏幕适配问题
总结的一些关于屏幕适配的问题一、基本概念 屏幕大小(screen size) –屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸)。android把屏幕分为以下4种:small,normal,large,extralarge。怎么判断? 屏幕密度(Screen Density) - 一块实际的屏幕区域有多少个像素,一般用dpi衡量(每原创 2015-01-05 16:08:25 · 627 阅读 · 0 评论 -
Android开发性能优化大总结
一.Android相关1. 采用硬件加速,在androidmanifest.xml中application添加android:hardwareAccelerated="true"。不过这个需要在android 3.0才可以使用。android4.0这个选项是默认开启的。2. View中设置缓存属性.setDrawingCache为true.3. 优化你的布局。通过Androi原创 2015-04-14 16:45:40 · 431 阅读 · 0 评论 -
Activity启动模式任务堆栈
Activity中的任务是与用户交互的一组Activity的集合,Activity会被按打开顺序安排在一个堆栈里。任务栈:并不是Activity是Activity的引用(内存地址) standard 标准模式 每次激活Activity时都会创建Activity,并放入任务栈中,默认模式 singleTop 独享堆栈顶端 如果在任务的栈顶正好存在该原创 2015-04-14 17:46:10 · 597 阅读 · 0 评论 -
Android图片加载与缓存开源框架:Android Glide
官方语言: Android Glide 是一个高效、开源、 Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一个是实现平滑的图片列表滚动效果,另一个是支持远程图片的获取、大小调整和展示。原创 2015-09-09 13:24:32 · 1014 阅读 · 0 评论 -
android 配置Material Design主题(沉浸式状态栏的实现)
对于不遵守Material Design的项目可以无视此文。1.先在color.xml中写好需要的颜色: #ff5722 #673AB7 #311B92 #fff #888888 #dddddd #999999 注意:color.xml是配色表。应该是描述颜色而不是对字体颜色,背景颜色等的定义。这样能防止相近的颜色原创 2015-11-23 17:24:55 · 1605 阅读 · 0 评论 -
Handler、Message、Loop消息队列模型,各部分的作用
Android系统的消息队列和消息循环都是针对具体线程的,一个线程可以存在(当然也可以不存在)一个消息队列(Message Queue)和一个消息循环(Looper)。Android中除了UI线程(主线程),创建的工作线程默认是没有消息循环和消息队列的。如果想让该线程具有消息队列和消息循环,并具有消息处理机制,就需要在线程中首先调用Looper.prepare()来创建消息队列,然后调用Loope原创 2016-06-23 15:31:50 · 3581 阅读 · 1 评论