自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kongou的有顶天

我要一步一步往上爬,在最高点乘着叶片往前飞

原创 Android sun.security.validator.ValidatorException: PKIX path building failed问题解决方法

本人Android开发,最近在更新自己公司项目私有库时遇到了如下报错 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.sec...

2020-05-22 18:45:51 250 0

原创 OkHttp源码解析

OkHttp作为现在最主流的Android网络请求框架,其先进的设计思想是很值得学习的。今天就来从源码角度解读一下OkHttp网络框架的原理。 首先来看看OkHttp网络框架特点。 OkHttp 是一个高效的 HTTP 客户端,具有非常多的优势: 能够高效的执行 http,数据加载速度更快,...

2019-07-22 21:56:51 69 0

原创 EventBus源码解析

EventBus作为一个事件处理分发总线框架,如今被广泛用于大大小小的企业之中。其能够如此之火,一定有它的特别之处。今天就来分析一下EventBus的原理。 1、定义事件 2、注册、注销与发送事件 3、设置响应函数 ThreadMode EventBus共包括4种...

2019-07-22 11:40:30 58 0

原创 RxJava2.0 源码解析

对于一些比较主流的开源框架,其中的一些源码还是需要去看,去了解的。 以下基于个人视角,简单解读一下RxJava2.0的源码,挑一些比较常见的重要的地方进行解读。 这一段常见的rxjava使用代码。 从中可以看到一些基础的知识点。比如观察者与被观察者的绑定。 rxjava的底层是基于观察...

2019-07-20 20:28:58 88 0

原创 Android约束布局

Android约束布局问世已经有一段时间了,对于最初的一些开发者来说,早已习惯了相对布局或线性布局的使用,基本上可以满足日常开发的需求。但是这样一来,约束布局不就没有它存在的意义了吗。 从谷歌官方数据来看,约束布局在某些情况下表现要高于线性布局以及相对布局。其特点是层级单一,所有控件均处于同一层...

2019-07-09 15:53:54 328 0

原创 微信小程序基础总结

一、微信小程序生命周期 在js文件中帮我们生成的生命周期函数有 onLoad:页面加载 onReady:页面初次渲染完成 onShow:页面展示 onHide:页面隐藏 onUnload:页面卸载 第一次来到页面A,onLoad--A,onShow--A,onReady--A。 页...

2019-07-06 14:46:42 112 0

原创 小程序开发心得

一、View的居左显示 在wxss里可以设置样式与布局方式,position:fixed可以让控件居左,居上,居右和居下。通过left:50rpx;等设置居该位置以及距离。 但是这种属于绝对定位,感觉不太灵活。 fixed方式是严格定在屏幕中某一位置,如处在可滑动或变换的父布局内,则会显示异...

2019-07-03 09:45:57 47 0

原创 微信小程序项目技巧总结

一、view的边框设置 边框设置要使用border,对其样式,宽度颜色等属性进行设置后方可使用。 阴影设置为box-shadow,一般也算入边框设置里。 微信小程序border使用总结 二、横线滚动布局 微信小程序横向滚动布局scroll-view使用 scroll-view用于小...

2019-07-03 09:44:40 54 0

原创 Mac上MySQL数据库本地数据库表内容导出到另一个数据库

本地有数据库A和B A里有已建立表单数据,B为空。 一、导出A数据库内容。 1 从终端进入到存放导出数据库文件的目录,如/Users/xxx/mysqlspace 2 执行语句mysqldump -u root -p database_name>sql_name.sql 查...

2019-02-15 17:01:49 662 0

原创 java.lang.abstractMethodError的错误解决

日常开发中,如果在打包后遇到过java.lang.abstractMethodError的问题,其中一部分,可能是混淆引起的。 解决方法就是把提示报错的地方,通过-keep 的方式过滤掉,不让那些代码进行混淆。 本人遇到的是一个RecyclerView使用时adapter中的getItemCo...

2019-01-29 18:27:03 32224 0

原创 基于一个异常捕获功能的知识点梳理

最近做的项目恰好需要捕获一个异常来解决一个崩溃问题,于是自己找了网上一个异常捕获的例子,几乎是原封不动的把人家的例子拿来用了。用归用,原理还是要知道的,于是写一篇文章来总结异常捕获涉及的知识点。 原文链接:Android全局捕获崩溃异常记录日志 一、如何捕获一个异常崩溃 1、Uncaught...

2018-12-13 16:51:57 77 0

原创 RecyclerView缓存机制

RecyclerView作为常用的列表类需求开发的控件之一,已经成为我个人开发项目时的首选。其扩展性要远强于ListView。RecyclerView的缓存机制通常也是面试必考的的内容之一,本文就此做一个整理。 一、四级缓存 如果说RecyclerView和ListView在缓存机制上有什么不...

2018-11-06 17:53:06 1161 0

原创 ASMDex实践总结

ASMDex字节码插桩技术是AOP编程中一个重要的知识点。ASM技术的优势在于代码侵入性小,使用方式灵活。缺点在于上手难度较大。下面针对ASM技术实践时遇到的一些问题进行总结。 一、ASM使用原理 android开发时,我们都知道,在打包过程中,是先将java文件编译成class文件,之后再把...

2018-11-06 16:16:20 503 0

原创 插件化开发遇到的问题汇总

插件化开发遇到的问题,大多数跟资源配置,包引用等相关,这些问题不算常见问题,但是在插件化开发中却有可能出现。因此也要记录下来做个总结。 一、v7包的引用方式 通常的导入方式为complie方式,这种方式是编译时和运行时都依赖。 但是当在插件化开发中使用时,主站包往往引用了依赖,这时如果插件包...

2018-10-24 17:30:33 227 0

原创 Android中的进程保活

最近在看AIDL相关的知识,无意间看到一篇进程保活的文章,正好涉及到了进程相关的内容。顺便学习一下。 原文地址Android中的进程保活 一、什么是进程保活 进程保活可以理解为让一个进程最大程度不被杀死,或者杀死后第一时间复活。 二、进程的划分 1、活动进程 优先级最高,用户正在操作的...

2018-10-11 16:37:34 104 0

原创 如果我是Android面试官十

一、Android 各版本新特性 这个先开个坑,以后填。 二、Android两种虚拟机 Java提供了JVM虚拟机,而Android出于优化的考虑,又提供了自己的虚拟机Dalvik。 JVM基于栈架构,每次取数据是从内存中取。 Dalvik虚拟机是基于寄存器架构,每次去数据从寄存器中取,...

2018-10-08 16:48:44 74 0

原创 Android分屏多任务带来的生命周期问题

前些日子发现的一个小问题,在使用Fragment的页面里,使用分屏任务,之后就会出现显示异常。追踪了生命周期,发现分屏时,会重新走Activity以及Fragment的生命周期。这就带来了问题。因为如果使用的是add的方式添加Fragment的话,就会每一次分屏都add一个fragment,这样就...

2018-10-08 16:23:05 792 0

原创 如果我是Android面试官九

一、Android事件分发机制 1、MotionEvent事件 MotionEvent事件主要有以下三种类型,ACTION_DOWN、ACTION_MOVE、ACTION_UP。也就是手指按下屏幕,移动,再抬起。 2、事件分发的三个重要方法 MotionEvent事件最终是要发送到一个具体...

2018-10-08 15:25:58 199 0

原创 Fragment的UI是何时绘制的

最近一个优化问题导致我不得不去思考一下这个问题。 一、Fragment的onResume Fragment的生命周期是与宿主Activity关联的,这里只看onResume方法。因为Activity的绘制操作,是在onResume中进行的,所以想查看Fragment的绘制操作,还要追溯到onR...

2018-09-30 17:40:11 447 0

如果我是Android面试官八

一、Application生命周期 Application属于单例模式,只能创建一个。 Application作用:1、定义全局属性和全局方法。2、在应用程序组件中传递对象。3、定义缓存 Application的生命周期是整个程序最长的,它的生命周期相当于程序的生命周期。 关于生命周期的方...

2018-09-28 21:53:40 172 0

原创 LiveData是如何做到在合适的时机刷新的

项目的AAC框架改造也进行了一段时间了,对于谷歌新提出来的这一套JetPack框架,个人觉得还是相当不错的。好好使用,能够给开发带来很大的方便,对于以后的功能扩展也很有利。下面就来研究一下,JetPack中,LiveData是如何实现自动刷新的。 一、LiveData是什么 LiveData简...

2018-09-21 18:17:51 2513 0

原创 Android中单例模式的应用

单例模式在我们日常开发中或多或少都会遇见,使用场景也是多种多样。今天根据项目中需求,正好用到了单例模式。在此记录一下。 一、跟随app存活 有什么方式,可以让一个变量跟随app存活呢?是一个单例模式维护的静态工具类。静态工具类代码一般都使用单例模式来实现,可以防止建立多个,同时可以维护一个完整...

2018-09-17 12:01:59 231 0

原创 OkHttp网络框架的使用整理

最近的项目中,使用了OkHttp网络框架来上传数据。正好自己在网络这一块还不太熟,借此机会来整理总结一下。 一、什么是OkHttp OkHttp是一个高效的HTTP客户端,通过它可以轻松地实现HTTP请求的发送。它有一些优点,但是具体是什么原理使它拥有这些优点,还需要后续对源码进行分析。 二...

2018-09-13 15:15:49 480 0

原创 RXJAVA的使用总结

前些日子在项目中引入了RXJAVA,也算是初步入门了RXJAVA的使用。使用起来感觉还是挺方便的,唯一需要注意的就是线程的切换以及调用的方法是否是在该线程应该使用的。如UI相关操作一定要在主线程中。 一、什么是RXJAVA RXJAVA是一个库,用来支持我们需求里需要异步操作的地方。它比起ha...

2018-09-13 15:11:47 8970 0

原创 Android插件化开发过程中遇到的问题总结

最近接手的一个项目,是在插件分支里开发一个功能。但是写过demo之后,发现同样的代码在项目中运行不起来。在此过程中遇到的问题总结一下,以便以后遇到同样的问题直到问题出在哪。 一、四大组件的注册 四大组件的使用是一定要声明的,尤其是要在主站中声明。并且在插件化开发的过程中,确保你所新增的内容,在...

2018-08-23 22:08:41 223 0

原创 Android中ContentProvider使用总结

最近一个小项目里用到了ContentProvider,这正好是我的薄弱环节,作为Android开发这么久,却很少接触ContentProvider的使用,正好借此机会学习总结一下。 在谈及ContentProvider之前,我想最好还是先聊一下Android中的数据,SQLite,这样我觉得更体...

2018-08-17 15:48:13 940 0

原创 如果我是Android面试官七

Java集合类作为Android面试中不可缺少的一环,常能区分出面试者Java功底是否厚实。今天整理一篇关于Java集合类的知识。 一、什么是Set Set是一个接口,继承于Collection。主要是保证其内部数据的唯一性,即添加相同的数据,会添加失败。常用的实现类有三种,HashSet、T...

2018-08-16 21:39:50 278 0

原创 如果我是Android面试官六

Java中的并发是Android面试时常考的一项,今天就来写一篇关于Java并发知识的整理。 一、为什么要使用多线程 为了更快的执行 如果你想要一个程序运行的更快,那么可以将其断开为多个片段,在单独的处理器上运行每个片段。并发是用于多处理器编程的基本工具。 并发通常是提高运行在单处理器上的...

2018-08-11 21:01:44 198 0

原创 Android开发中AAC框架基础概念整理

历时1个多月的重构项目终于结束了,在重构过程中引入了AAC框架,算是对于这个新框架的初探与尝试。看了看自己之前的那篇文章,感觉当时的思考和理解还不够完善,今天打算系统地学习一下AAC。首先,了解一下什么是AAC。 一、什么是AAC Android Architecture Components...

2018-08-09 20:53:26 3224 0

原创 Fragment与ViewPager结合使用白屏问题

最近的一个项目使用了fragment与viewpager结合的方式来展示内容,其中又包含网络请求与数据的列表展示。 Fragment与ViewPager的结合使用出现白屏问题,网上的答案很多,基本上能够都覆盖到。但是我遇见的这个问题,却很奇葩,尝试了所有方案都没有解决。最终在一行一行添加log观...

2018-07-31 14:40:19 1472 0

原创 HashMap相关总结

HashMap作为java常用集合类之一,也是面试必考的题目之一,在此做一期hashmap相关的知识点总结。一、hashMap原理一问到hashMap原理,应该能说出它是基于数组与链表结构。当put一组键值对时,会以key为参数,获取到一个hash值,这个值用于在数组里找脚标,找到后获取该脚标下的...

2018-06-24 16:15:45 204 0

原创 ListView缓存机制

ListView在RecyclerView出现之前是列表使用最多的控件,它自然是有它的优势的,而ListView的缓存机制也是面试常考的问题之一。下面就简单说一说ListView的缓存机制。一、RecycleBin缓存机制RecycleBin是写在AbsListView中的,而ListView继承...

2018-06-24 14:51:22 1739 0

原创 Android的handler机制浅谈

handler机制可以说是android面试时必考的一项,其思想还是比较nb的,最近和组内的ios同事聊天时,发现ios也有一套类似的机制,可见handler机制的重要性。在了解过后,做一个简单的总结,加深自己的印象。本文知识点参考以下文章:Android进阶——Android消息机制之Loope...

2018-06-24 11:49:25 1954 0

原创 如果我是Android面试官三

五、说一说Android中dp, px, sp的区别dip:设备独立像素,不同硬件设备有不同效果,与像素无关dp:同dip一样px:像素,不同设备显示效果相同sp:用于字体的设置看一下源码中的解释public static float applyDimension(int unit, float ...

2018-06-17 17:29:50 305 0

原创 Coodinatorlayout使用是加载异常报错XML inflate class error

最近在开发中一直被这个问题困扰,排查了一天,摸索出来两种规律。 一 主题要使用AppCompat系列的,也就是Theme.AppCompat及其衍生的主题 二 加载资源文件时的上下文要注意。作者使用activity的getApplicationContext时就报错,但是使用getBaseCo...

2018-06-14 15:53:11 1068 0

原创 一句话总结设计模式六大原则

一谈到设计模式,相信每一个程序员都会用到,有时候即使你没有刻意的去使用,但是在构建代码时也都无形之中用到了它们。因为它们是正确的,是代码界的真理。今天在网上搜了搜设计模式,无意之中看到了一篇关于设计模式六大原则的文章,写的很不错,开一帖总结整理一下。原文作者连接:设计模式六大原则本文略去一些举例,...

2018-06-06 14:28:19 258 0

原创 AAC框架改造总结

近期主要工作之一是一个模块的AAC框架改造,在此记录一下改造过程中遇到的问题以及一些改造经验。   AAC框架的概念和意义,先不细讲,日后有时间补上。 关于AAC框架的概念和意义,在看了官方文档后写了一篇整理:AAC框架中的一些基础概念整理 简单来说,AAC是一个将代码结构更加解耦的框架。...

2018-06-04 10:52:55 2081 0

原创 android单元测试遇到问题总结

最近主要工作就是单元测试的编写,刚接手不久,遇到的问题记录一下。一、使用mockito包中的mock方法时,在initMocks时会报错解决方案:在stackoverflow上终于找到解答。目前来看似乎mockito仍然存在一些问题,库依赖mockito-core使用1.10.19版本的包可以正常...

2018-05-31 12:36:07 350 0

原创 如果我是Android面试官二

呼,明明感觉很累,但是看眼日历今天才周三。因开会耽误了晚间的跑步,早点到家来更一篇吧。四 Fragment用吗,简单的说说你对它的理解Fragment主要是用于一个Activity的多元化。有时候根据产品需求,要求一个页面能够根据配置展示不同的样式和排版。这时就是Fragment大显身手的的时候了...

2018-05-30 23:13:22 178 0

原创 开发日记(一)JAVA中变量初始化流程

2017.09.15 多云 今天起,把每天工作中遇到的问题,进行总结。  先聊聊Public等关键字的作用域 这个是JAVA面试常考的知识点之一,一段时间不看,又忘了。 Java中的作用域可分为public、private、protected和不写四种 其中不写的情况一般称为默认或者友元(fr...

2018-05-30 14:30:32 251 0

提示
确定要删除当前文章?
取消 删除