自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 巨丝滑 —— 自己动手撸一个图片编辑器(支持长图)

前言产品拿着IOS的微信图片编辑给我看了下说:“这个功能应该很简单吧,你应该很快就能做好吧”。 如果当时我的桌子上有块????的话,估计就是另一个结局了。????吐槽结束,先来看效果图吧来吧,展示本图片编辑器实现了IOS微信图片编辑除表情贴纸外的所有功能包括用户体验。 源代码在1000行左右,阅读起来基本没有难度,非常适合二次开发。 实现功能:涂鸦、贴纸、文字、马赛克、裁剪主要知识点:- Canvas- Xfermode- GestureDetector- S.

2021-09-30 14:46:12 1086

原创 超详细 —— 自己动手撸一个Android动态权限申请库

前言在App的开发中我们离不开动态权限申请,官方的写法是在Activity回调结果,虽然很标准,但是很繁琐。 今天我们就自己动手撸一个Android动态权限申请库。动态权限的工作流程首先通过 `ActivityCompat.checkSelfPermission()` 来检查用户是否已经授权,未授权再通过 `ActivityCompat.requestPermissions()` 去申请权限。之后在 `onRequestPermissionsResult()` 获取到申请结果,如果被用户拒绝.

2021-08-23 15:41:00 762

原创 最通俗易懂的字节码插桩实战(Gradle + ASM)—— 优雅的打印方法执行时间

前言做项目优化时,我们通常会先打印出方法的执行时间,再根据方法的耗时情况对其进行优化。代码如下:public static void main(String[] args) { long startTime = System.currentTimeMillis(); //... long endTime = System.currentTimeMillis(); System.out.println("程序运行时间: " + (e

2021-08-23 15:31:41 768

原创 最通俗易懂的字节码插桩实战(Gradle + ASM)—— 自动埋点

### 前言字节码插桩,看起来挺牛皮,实际上是真的很牛皮。 但是牛皮不代表难学,只需要一点前置知识就能轻松掌握。### Gradle TransformGoogle在Android Gradle的1.5.0 版本以后提供了 Transfrom API,允许开发者在项目的编译过程中操作 .class 文件。Transfrom需要介绍的地方不多,唯一的难点就是要熟悉API,我会在文尾推荐相关文章,这里就不过多介绍,影响大家的阅读体验。### ASMASM是一种通用Java字节码操作和分析框架。它..

2021-08-23 14:59:54 1103

空空如也

空空如也

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

TA关注的人

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