
Android中的专题精讲
该专题主要讲的是Android中常用知识点的深挖运用:主要包括:handler、binder、View绘制、事件、网络、注解、内存优化
优惠券已抵扣
余额抵扣
还需支付
¥79.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
zhwadezh
毕业于西北政法大学,曾就职华为,现就职于京东,从事Android开发8年。现在是部门核心骨干,一名资深的Android开发者。参与研发的主要APP:京东商城 、京东金融
展开
-
Java的注解原理
Java的注解原理一、注解的简介注解是标记,也可以理解成是一种应用在类、方法、参数、属性、构造器上的特殊修饰符。二、注解作用有以下三种:第一种:生成文档,常用的有@param@return等。第二种:替代配置文件的作用,尤其是在spring等一些框架中,使用注解可以大量的减少配置文件的数量。第三种:检查代码的格式,如@Override,标识某一个方法是否覆盖了它的父类的方法。三、注解的底层实现原理:注解的底层也是使用反射实现的,注解和接口有点类似,不过申明注解类需要加...原创 2020-09-10 09:40:27 · 604 阅读 · 0 评论 -
Java中的系统异常体系篇
Java中的系统异常体系一、Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。二、 ErrorError:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。三、Ex...原创 2020-09-10 09:39:13 · 257 阅读 · 0 评论 -
Android中网络相关篇
一、HTTP、TCP、IP协议相关点(一)HTTP基本定义:1.HTTP:超文本传输协议:它用于传送WWW方式的数据, HTTP协议采用了请求/响应模型。2.HTTP的构成:(1)HTTP请求报文:由请求行、请求头部、空行和请求数据4个部分组成。(2)HTTP响应也由三个部分组成,分别是:状态行、消息报头、响应正文。(3)HTTP与HTTPS区别:HTTP协议传输的数据都是未加密的,也就是明文的,不安全,端口80; HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份原创 2020-09-10 09:37:37 · 185 阅读 · 0 评论 -
Java三大特性
(一)封装的概念通过定义接口来访问类的私有属性—即 set/get方法,示例:外部设置使用类里面的私有属性接口就是:给外面提供方法来访问自己。(二)面向对象-继承1.继承的概念用例演示:如果子类继承父类,子类就拥有父类的一些属性和方法。(三)面向对象-多态概念用例演示;每个车都有自己的骑法,上面new一个car的子类,来实现摩托车的骑法。就是多态的用法。(四)方法重载概念代码用例演示重载中传入不定量参数的方法原创 2020-09-10 09:36:41 · 176 阅读 · 0 评论 -
Java系统知识点相关篇--JVM
一、JAVA虚拟机(JVM)的内存结构,以及它们的作用(一)概述:保证java的跨平台性,不同的平台可以下载对应JVM来运行java文件。(二)、JVM的运行过程首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件,然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行引擎解释或编译类文件,再由即时编译器将字节码转化为机器码。主要介绍下图中的类加载器和运行时数据区两个部分。(三)、jvm的GC回收算法1.标记 -清除算法:.原创 2020-09-10 09:35:21 · 200 阅读 · 0 评论 -
java中的数据存储机制
(一)java的六种存储地址及解释(1)寄存器(register):这是最快的存储区,因为它位于处理器内部。但数量极其有限,所以寄存器由编译器根据需求进行分配。(2)堆栈(stack):位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时候,JAVA编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针。这一约束限制了程原创 2020-09-10 09:34:13 · 359 阅读 · 0 评论 -
Android NFC开发详细总结
Android NFC开发Near Field Communication(NFC) 为一短距离无线通信技术,通常有效通讯距离为4厘米以内。NFC工作频率为13.65 兆赫兹,通信速率为106 kbit/秒到 848kbit/秒。NFC手机相比普通手机来说,短范围无线技术。1.NFC基础用NDEF消息格式来发送和接收NFC数据,从NFC标签中读取NDEF数据是用标签调度系原创 2018-01-19 22:35:12 · 38854 阅读 · 3 评论 -
Android开发最新所有框架总结
1. Retrofit 一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言上榜理由:Retrofit以21.8k的stars量雄踞github中android子标题榜首,第一当之无愧。官网地址 http://square.github.io/retrofit/github https://github.c转载 2018-01-19 21:29:43 · 17254 阅读 · 3 评论 -
JAVA数据类型详解
一、JAVA数据类型1.JAVA基本数据类型前四种都属于整形。写法演示:2.引用数据类型二、ArrayList、LinkedList、Vector的区别 1.ArrayList(1)ArrayList是基于数组实现的,采用懒加载策略(第一次add时才初始化内部数组,默认初始化大小为10)。(2)它允许对元素的快速随机访问以及在链表尾部进行插入或删除元素操作。但是当随机插入元素时,如果此时数组大小已经不能满足再插入元素时就会进行扩容操作【扩容为原来集合容量的1.5.原创 2020-09-10 09:31:47 · 137 阅读 · 0 评论 -
Flutter和RN对比分析
1.Flutter(1)Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。用于创建高性能、跨平台的移动应用的框架。(2)Flutter的开发语言是DartRN的效率由于是将View编译成了原生View,所以效率上要比基于Cordova的HTML5高很多, RN的渲染机制是基于前端框架的考虑,复杂的UI渲染是需要依赖多个view叠加.会有多少个对象需要渲染。 Flutter在渲染技术上,选择了自己实现(GDI),由于有更好的可控性,使用了新的语言Dart原创 2020-09-09 14:15:57 · 1410 阅读 · 0 评论 -
Android热更新
(一)热更新(一)Android热更新简介热更新产生的背景热更新技术的用途热更新的发版流程以及优势(二)常见的热修复框架Andfix---阿里巴巴:是基于C和C++层实现的,使用简单,速度非常快。 Nuwa(来源于女娃名字的汉语拼音),RocooFix:底层原理都是基于ClassLoader。 Thinker:微信在2016年推出的,在社区很火,官方维护很积极。 Robust:美团推出的框架,基于google的一套方案。Anfix热修复的demo的代码演示:原创 2020-09-09 14:14:38 · 560 阅读 · 0 评论 -
MVC/MVP/MVVM精讲
(一)、mvc架构的图示2.MVC的工作原理Model:用于网络请求View:界面的展示Controller:指Activity和fragment重点图:虚线表示MVC的被动过程。(二)、MVP架构(三)、MVVM原创 2020-09-09 14:13:27 · 144 阅读 · 0 评论 -
Android 性能优化—内存管理
(一)内存优化理论Android 的内存管理方式分配机制:操作系统为每一个进程分配一个合理的内存大小,从而保证每一个进程能够正常的运行。 回收机制:当系统出现内存不足的时候,需要一个合理的回收再分配机制,从而保证新的进程能够进行,当系统回收的时候需要杀死一些正在运行的进程,此时操作系统需要一个合理的杀死进程的机制以保证更少的副作用2.内存的分配机制内存的回收机制:(1)回收进程可见进程:没有任何前台组件,但仍然会影响用户在屏幕上所见内容的一些进程,系统一般也不会杀死它。服务进原创 2020-09-09 14:11:46 · 158 阅读 · 0 评论 -
Android View相关原理剖析
一、Android 的事件分发机制1.事件分发的顺序:Activity => ViewGroup => View 的顺序进行事件分发,onTouch()执行总优先于onClick(),然后通过调用 onTouchEvent() 方法进行事件的处理。我们在项目中一般会对MotionEvent.ACTION_DOWN,MotionEvent.ACTION_UP,MotionEvent.ACTION_MOVE,MotionEvent.ACTION_CANCEL 分情况进行操作..原创 2020-09-09 14:10:36 · 127 阅读 · 0 评论 -
Android多进程
一、Android多进程(一)概述:进程是系统分配资源的最小单位、不同进程间的资源和数据是相互隔离的,进程内可以运行多个线程,线程的崩溃可以影响到进程。(二)多进程开发的优势:1.解决主进程系统资源紧张问题,可以剥离占内存的资源到子进程。避免主进程OOM。2.解决应用架构的臃肿问题:可以把WebView/推送、后台服务剥离到子进程(因为他们功能比较单一)。3.进程间保活。(三)进程间通信1.概念:进程间通信(Inner-Process Comunication,简称IPC),就是原创 2020-09-09 14:08:29 · 239 阅读 · 0 评论 -
Activty原理深入剖析
一、Activity的加载过程(1)Activity调用startActivity或者startActivityForResult,Activity Thread传递进程间消息给AMS,AMS接收到创建Activity的请求之后会执行初始化操作,解析启动模式,保存请求信息等一系列操作,将当前系统栈顶的Activity执行onPause操作,继续执行启动Activity的逻辑,A通过socket与Zygote通讯,并告知Zygote进程fork出一个新的应用程序进程,然后执行ActivityThread的原创 2020-09-09 14:06:35 · 399 阅读 · 0 评论 -
Android操作系统的理解
一、Android操作系统的理解基于Linux内核,系上下分为四层结构,优势:安全、开放具有灵活性。图示1、Java应用程序层:应用程序层,我们开发的APP都是指在这一层。2、Java应用程序框架层隐藏在每个应用后面的是一系列的服务和系统。提供核心功能的API框架及各种服务和管理工具, 它主要包括以下几部分:视图(Views):UI的控件从这扩展。 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。原创 2020-09-09 14:04:36 · 863 阅读 · 0 评论 -
深入浅出理解ClassLoader
一、含义一个Java程序都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会引发系统异常。而程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的类加载机制(ClassLoader)来动态加载某个class文件到内存当中的,从而只有cl原创 2020-09-09 14:02:32 · 143 阅读 · 0 评论 -
Android中webView精讲
交互:一、app 调用 h5 的代码:H5暴露全局方法提供给app调用代码`javascript:window’s = {double = value => value * 2,triple = value => value * 3,};android:webview.evaluateJavascript('window.sdk.double(10)', new Value Callback <String>() { @Override ...原创 2020-09-09 14:00:10 · 231 阅读 · 0 评论 -
Android中线程间通信--handler完美详细总结
Handler是Android中线程间通信的重要方式,常见的使用场景就是完成主线程和子线程之间的通信,也可以说是Android中的消息传递机制,Handler不仅仅能将子线程的数据传递给主线程,也能实现任意两个线程的数据传递。下来开始通过代码来看看handler的重要功能和使用方式。一、主要作用1.更新界面数据:主要是指子线程要更新UI必须通过Handler。2.发送和处理消息。二、使用方式handlerMessage方法主要实现线程间通信和数据传递。1.在主线程中:...原创 2020-08-29 14:19:15 · 1029 阅读 · 0 评论