排序:
默认
按更新时间
按访问量

热修复与插件化基础——Java与Android的类加载器

一、java中的ClassLoader 1、类加载器 2、加载流程 Loading:类的信息从文件中获取并载入到JVM的内存中。 Verifying:检查读入的结构是否符合JVM规范的描述。 Preparing:分配一人上结构用来存储类信息。 Resolving:把类的常量...

2018-05-18 00:28:20

阅读数:29

评论数:0

热修复与插件化基础——Java与Android虚拟机

一、Java虚拟机(JVM) 1、JVM整体结构 使用javac将java文件编译成class文件。 类加载器(ClassLoader)将class字节码加载进JVM对应的内存中。 JVM将内存分配给方法区、堆区、栈区、本地方式栈4个部分,这4个部分分别存储字节码不同的部分。 垃圾回...

2018-05-13 20:31:07

阅读数:196

评论数:0

热修复——Bugly让热修复变得如此简单

一、简述在上一篇《热修复——Tinker的集成与使用》中,根据Tinker官方Wiki集成了Tinker,但那仅仅只是本地集成,有一个重要的问题没有解决,那就是补丁从服务器下发到用户手机上,如果你团队中的后台开发人员实力够强,那么完全可以自己做一个补丁管理系统,但我想应该没多少人愿意花精力在这个后...

2017-12-12 17:30:10

阅读数:303

评论数:0

热修复——深入浅出原理与实现

一、简述热修复无疑是这2年较火的新技术,是作为安卓工程师必学的技能之一。在热修复出现之前,一个已经上线的app中如果出现了bug,即使是一个非常小的bug,不及时更新的话有可能存在风险,若要及时更新就得将app重新打包发布到应用市场后,让用户再一次下载,这样就大大降低了用户体验,当热修复出现之后,...

2017-11-14 19:28:43

阅读数:4008

评论数:10

项目实战-仿bilibili刷新按钮的实现

一、简述       最近跟小伙伴一起讨论了一下,决定一起仿一个BiliBili的app(包括android端和iOS端),我们并没有打算把这个项目完全做完,毕竟我们的重点是掌握一些新框架的使用,并在实战过程中发现并弥补自身的不足。       本系列将记录我(android端)在开发过程中的一些...

2017-10-24 13:00:19

阅读数:6247

评论数:22

高仿微信6.5.7(融云版)

一、简述 本项目由 CSDN_LQR 个人独立开发。 项目博客地址:http://www.jianshu.com/p/ae5e5ffdb1f1 项目源码地址:LQRWeChatRongCloud 项目DemoApp下载:Demo 1、简单介绍一下:这个项目是本人独...

2017-04-15 22:50:50

阅读数:5272

评论数:6

热修复与插件化基础——dex与class

一、dex/class浅析 1、class与dex对比 类型 class文件 dex文件 定义 能够被jvm识别、加载并执行的文件格式 能够被dvm识别、加载并执行的文件格式 如何生成 使用java命令(javac) 使用java命令、d...

2018-05-13 20:21:58

阅读数:47

评论数:0

使用PorterDuff解决clipPath无法抗锯齿问题

一、简述 前段时间公司史无前例的接了一个大数据外包项目(哇~我们又不是外包公司(╯°Д°)╯︵ ┻━┻),要求搞很多图表方便观察运营的数据情况,图表当然要用到MPAndroidChart啦,但并不是所有的图表都可以用它用实现,这时就需要自定义View了,其中有一个要求,如下图所示,这就是本篇要实...

2018-03-16 14:20:07

阅读数:142

评论数:0

Libgdx——使用pixmap绘制透明圆角矩形

一、简述 1、需求 最近在使用Libgdx进行游戏大厅开发,遇到这种需求:为个别文本控件(Label)设置纯色透明的圆角矩形背景。 2、思路 Libgdx中的Label是提供背景设置的:对Label的Style的background属性进行设置即可,这个background是个Dr...

2018-02-09 09:37:24

阅读数:167

评论数:0

热修复——Tinker的集成与使用

一、简述 Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。 上面是Tinker官方Wiki的原话,意思嘛相信大家都看得明白,但注意啦,它并没有说Tinker可以让...

2017-12-06 17:51:26

阅读数:193

评论数:0

使用注解打造自己的IOC框架

一、简述IoC和AOP可谓是后台开发入门必学的知识(Spring相关),但这两者都仅仅只是概念而已,并非具体技术实现,同样的,Android也可以使用IoC和AOP,之前已经写过如何在Android开发中使用AOP了,有兴趣的朋友可以看我之前的博客(顺便点个关注吧),所以,本文主题便是IoC。 ...

2017-11-28 19:49:58

阅读数:253

评论数:0

手撸一个简易Android数据库框架

一、简述众所周知,移动端(不管是Android还是iOS)使用的数据库是Sqlite,这种小型的数据库很适合移动端存储大量的数据,使用上也跟mysql基本无差,但官方提供的API在操作性方面真不咋的,你必须掌握一定程度的sql语句,否则将很难驾驭。所以,有很多第三方的数据库框架就开始流行,如:Gr...

2017-11-27 11:55:26

阅读数:247

评论数:0

Android面向切面编程(AOP)

一、简述1、AOP的概念如果你用java做过后台开发,那么你一定知道AOP这个概念。如果不知道也无妨,套用百度百科的介绍,也能让你明白这玩意是干什么的: AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维...

2017-11-16 18:12:00

阅读数:257

评论数:0

LinkedList与Queue源码分析

java中的数据结构源码解析的系列文章: ArrayList源码解析 LinkedList源码解析 一、简述上篇已经分析了基于数组实现数据存储的ArrayList(线性表),而本篇的主角是LinkedList,这个使用了链表实现数据存储的集合,它的增、删、查、改方式又会是怎样的呢?下面...

2017-11-08 17:42:43

阅读数:261

评论数:0

ArrayList源码分析

java中的数据结构源码解析的系列文章: ArrayList源码解析 LinkedList源码解析 一、简述我们知道,数据结构中有两种存储结构,分别是:顺序存储结构(线性表)、链式存储结构(链表),在java中,对这两种结构分别进行实现的类有: 顺序存储结构:ArrayList、Sta...

2017-11-08 17:42:00

阅读数:214

评论数:0

项目实战 - 使用Fiddler抓取bilibili安卓客户端口数据并分析(http、https)

一、简述经过了一个多星期的时间(自2017/10/16开始),到目前(2017/10/24)为止,项目框架的搭建已基本完成、还完成了首页中「直播」与「推荐」Fragment的数据填充,可以说相仿度很高,说这么多不如先看看效果。很6吧,但这不是重点,本篇要记录的,是使用fiddler来抓取app客户...

2017-10-24 16:57:39

阅读数:1060

评论数:0

redis系列(二)- 语法与命令

redis系列文章: redis系列(一)- 安装与启动 redis系列(二)- 语法与命令 一、简述Redis支持的键值类型有:String字符类型、map散列类型、list列表类型、set集合类型、sortedset有序集合类型。本篇将对这些键值类型在使用上进行总结,并介绍下Key...

2017-09-27 00:39:01

阅读数:844

评论数:0

redis系列(一)- 安装与启动

redis系列文章: redis系列(一)- 安装与启动 redis系列(二)- 语法与命令 一、Redis介绍Redis是NoSql的一种,在弄清楚Redis是个什么玩意之前,先了解下NoSql是什么。1、什么是NoSqlNoSql,全名:Not Only Sql,是一种非关系型数据...

2017-09-27 00:38:26

阅读数:1640

评论数:0

这可能是目前最方便的网站中英文切换(理论支持所有语言)

一、简述公司最近做的一个官网项目,要求把页面成国际化,实现中英文切换,为此,我在网上找了一些中英文切换的解决方案,大概为如下两种:1、使用谷歌整站翻译Api 优点:只须调用接口,即可轻松完成整站翻译,翻译准确度还行。 缺点:需要梯子。 参考文章:js代码实现网站中英文相互翻译 2、自己编写中英文对...

2017-09-19 09:23:43

阅读数:7631

评论数:7

SpringBoot详解(四)-优雅地处理日志

一、简介日志功能在j2ee项目中是一个相当常见的功能,在一个小项目中或许你可以在一个个方法中,使用日志表的Mapper生成一条条的日志记录,但这无非是最烂的做法之一,因为这种做法会让日志Mapper分布到了项目的多处代码中,后续很难管理。而对于大型的项目而言,这种做法根本不能采用。本篇文章将介绍,...

2017-09-09 16:52:23

阅读数:1048

评论数:0

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