自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 Okhttp基本使用及源码分析

该文章所用的okhttp源码版本:4.2.0基本使用Okhttp的使用步骤分为三步 :1.创建OkHttpClient,初始化一些连接参数。OkHttpClient client = new OkHttpClient();//如果需要添加拦截器,则需要用构建者模式OkHttpClient client = new OkHttpClient.Builder() .addInterc...

2019-11-18 18:34:15 259

原创 Android线程池及线程类概述

概要众所周知在Android中执行网络,IO等耗时任务时需要新开线程,和线程处理相关的类已经有Thread,AsyncTask,HandlerThread,IntentService等,那么我们为什么还需要线程池呢?当程序中有大量的网络请求时,就会频繁的创建和销毁线程,这时就会造成过大的性能开销,同时当大量线程一起工作的时候,也会导致相互抢占CPU资源的现象发生,严重时会发生线程阻塞等现象。因...

2019-04-10 17:22:52 461

原创 数字签名与数字证书入门级解读

算法基础这篇文章不解释具体的概念定义而是以通俗易懂的语言来解读数字签名与数字证书,我们先来理一理需要用到的知识点。摘要算法摘要算法是单向算法,明文只能转换成密文,密文却无法转换成明文,这种算法也叫HASH算法,如SHA1,MD5,CRC等。可以这样理解,几乎很难找到两个不同的明文能生成同一个摘要。所以摘要算法能够用于验证数据的完整性,防篡改。一般在软件发布时会同时公布软件的摘要信息,用户下...

2019-03-15 13:59:00 712

原创 Android组件化架构

Android组件化架构当APP规模达到一定时,利用组件化架构能够有效的简化APP的逻辑。按业务逻辑分组,各个团队只需关注于自己的模块实现,编译发布APP时再把各个模块集合在一起。组件化架构方式能让这一切变得简单而易于维护,特别适用于不同团队之间的协作开发。本文主要介绍组件化架构的代码组织方式。组件化架构需要各个组件不仅能够单独运行而且也能无缝的集成到主程序中,在这个过程中会遇到以下问题:1...

2019-01-15 15:25:45 368

原创 ARouter组件化框架原理分析

ARouter组件化框架原理分析欢迎使用Markdown编辑器编译阶段运行阶段新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出...

2019-01-11 11:29:08 3713

原创 主流热修复框架介绍

sdf方案对比Andfix阿里百川HotFixSophix微信Tinker饿了么Amigo美团Robust即时生效yesyes同时支持即时生效和冷启动修复nonoyes方法替换yesyesyesyesyesyesso替换nonoyesyesyesno资源替换nonoyesyesyesno四大组件...

2018-11-09 15:16:50 958

原创 App优化建议

Android App性能优化可以从代码,图片,布局,耗电量,App瘦身等方面来分析入手。以下主要是总结了在这几方面编码的一些建议。代码1.避免内存泄漏Handler,Thread的生命周期与activity不一致静态变量持有Activity context的引用数据库流,网络流使用完后未关闭2.优化数据结构需要字符串拼接的操作时用StringBuffer(线程安全),StringB...

2018-10-23 17:32:45 1069

原创 Android App异常检测及处理

Android App常见的异常可分为三种:ANR,Crash及OOM。当异常发生时如何正确的获取日志定位问题非常重要。本文针对这三种异常分别给出了处理建议,并提供了一些日志收集框架及日志上传的思路。ANRANR(Application No Response),俗称应用卡顿。在Android中所有KeyEvent和TouchEvent都是按照先后顺序放入队列中,依次执行,并且只有当前一个事件...

2018-10-17 15:46:55 3892

原创 Android View的事件传递及滑动冲突

事件传递顺序当用户点击屏幕产生一个事件,事件通过底层硬件捕获,然后交给ViewRootImpl处理,ViewRootImpl通过Window将事件交给Activity。 事件要传递给Activity那么它就必须持有Activity的引用,Window在Activity的attach方法中通过mWindow.setCallback(this)调用持有了Activity的引用,Activity实...

2018-08-30 11:58:48 1768

原创 Android View的绘制流程

ViewRootViewRoot对应于ViewRootImpl类。它是链接WindowManager和DecorView的纽带,另外View的三大绘制流程也是通过ViewRootImpl来完成的。 每个应用程序窗口的decorView都有一个与之关联的ViewRoot对象,这种关联关系是由WindowManager来维护的。 当建立好了decorView与ViewRootImpl的关联后,...

2018-08-29 16:13:45 150

原创 Android Window 理解

Window概念Window即窗口,是一个抽象类,它的唯一实现类是PhoneWindow。Android中的所有视图都是通过Window来呈现的。Window由WindowManagerService进行管理,定义了独立的绘制区域,不予其他Window相互影响。Window 的三种类型应用 Window 应用Window需要对应一个Activity子 Window 子Windo...

2018-08-29 11:14:41 1942

原创 android activity启动过程分析

LauncherLauncher是Android的桌面应用程序,用于展示并启动已安装的应用程序,显示桌面壁纸等。用户点击App时Launcher的工作流程如下:1.Launcher通知AMS启动app 2.AMS记录要启动的Activity信息并通知launcher进入pause状态 3.launcher进入pasuse状态后通知AMS,AMS调用startActivity启动app ...

2018-08-28 17:48:07 365

原创 startService,bindService混合使用的生命周期问题

startService,bindService混合使用的生命周期问题startService与bindService的混合使用执行顺序无非就是4种情况,现有serviceA实例分别打印生命周期的各个方法,四种情况的生命周期如下:startService -> bindService->stopService -> unbindService 08-09 10:57:...

2018-08-09 13:10:22 1360

最新url重写资源包urlrewritefilter-3.1.0.zip

url最新重写资源包urlrewritefilter-3.1.0.zip

2010-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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