自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AfinalStone的专栏

不要嫌前进的太慢,只要一直在前进就好。

原创 使用MAT排查Android内存泄漏

前言:MAT是Eclipse出品的一个插件,当然也有独立的版本。下载地址:点我在这里先提醒一下:1、本篇文章假定你已经可以拿到hprof文件,如果不懂这个文件,请自行查询2、MAT并不会准确地告诉我们哪里发生了内存泄漏,而是会提供一大堆的数据和线索,我们需要根据自己的实际代码和业务逻辑去分析这些数据,判断到底是不是真的发生了内存泄漏。hprof文件格式转换MAT仅支持对标准格式的hprof文件进行内存分析,所以,我们首先要使用AndroidSDK的platform-tools目录下提供的hp

2020-06-15 20:55:36 77

原创 Android Q 的到来,IMEI无法获取,如何获取新的稳定 ID

前言随 Android Q 的到来,IMEI 无法获取,获取稳定的 ID 成为越来越多的开发者迫切需求。为了解决这个问题,这里提供两种参考方案:方案一:使用手机厂联盟提供了一个全新的广告跟踪标示OAIDOAID:Open Anonymous Device Identifier 开放匿名设备标识符方案二:使用数字联盟则提供的"可信ID"的免费版CNAdlD标识特性OAID(匿名设...

2020-04-15 12:02:55 707

原创 SVG矢量图笔记总结

一、什么是SVG?SVG 指可伸缩矢量图形 (Scalable Vector Graphics)SVG 用来定义用于网络的基于矢量的图形SVG 使用 XML 格式定义图形SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失SVG 是万维网联盟的标准SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体二、SVG 的历史和优势在 2003 年一月,SVG 1...

2020-04-01 21:05:32 105

原创 python笔记汇总

一、Python基础1、数据类型和变量整数,浮点数,字符串,布尔值,空值(None),变量,常量(大写)2、字符编码字符创:ord(),chr()py文件的开头格式#!/usr/bin/env python3# -*- coding: utf-8 -*-格式化:占位符(%d,%f,%s,%x),format()操作符3、list列表list: append(...

2020-01-14 16:48:46 99

原创 ADB常用命令

原文地址:https://blog.csdn.net/qq_39969226/article/details/87897863

2020-01-07 14:28:57 59

原创 使用Python开发游戏运行脚本(一)成功调用大漠插件

闲来无事,想通过python来实现一些简单的游戏辅助脚本,而游戏辅助脚本的主要原理就是通过程序来查找游戏程序窗口,模拟实现鼠标点击和键盘按键等事件来实现游戏辅助的;window系统本身是有提供对应功能的API的,不过这次想通过大漠插件来实现查找窗口,鼠标点击和键盘按键的功能。1.1 下载python编译器我们这里使用的是大漠插件(dm.dll)的最后一个免费版: 3.1233 版本。首先...

2020-01-06 23:34:44 2030 1

原创 Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项

原文地址:https://www.jb51.net/article/171647.htm这篇文章主要介绍了Python,Pycharm,Anaconda三者的区别与联系、安装过程及其注意事项,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下前言本篇文章将详细讲述在学Python初期的各种手忙脚乱的问题的解决,通过这些步骤的操作,让你的注意力集中在Python的语...

2020-01-05 22:27:54 335

原创 常见问题总结

一、Fragment的使用,ViewPager的使用Fragment的基础知识总计+懒加载实现ViewPager懒加载的三种方法二、View的形状,测量,绘制View绘制流程(一)三、Viewpager的使用ViewPager系列文章(一)- ViewPager源码分析及加载页面原理图ViewPager系列文章(四)- ViewPager的内存优化2,悬浮窗FloatWindow...

2019-12-27 12:02:10 46

原创 使用surfaceView实现简单动画效果

一、概念View在UI线程去更新自己;SurfaceView则在一个子线程中去更新自己SurfaceView是在一个新起的单独线程中可以重新绘制画面,而View必须在UI的主线程中更新画面在UI的主线程中更新动画,时间一旦太长就会出现问题SurfaceView在新的线程中更新画面所以不会阻塞你的UI主线程,但是涉及到线程同步,需要SurfaceView中 thread处理.触摸产生的动画...

2019-12-23 11:38:41 49

原创 加密算法总结(二)常用加密算法的加密流程

一、RSA加密流程A前端、B后端A->BA提取消息m的消息摘要h(m),并使用自己的私钥对摘要h(m)进行加密,生成签名sA将签名s和消息m一起,使用B的公钥进行加密,生成密文c,发送给BBB接收到密文c,使用自己的私钥解密c得到明文m和数字签名sB使用A的公钥解密数字签名s解密得到H(m)B使用相同的方法提取消息m的消息摘要h(m)B比较两个消息摘要。相同则...

2019-12-23 11:32:07 33

原创 自己实现Android开发之全局异常捕获

Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开发者分析和调试程序。...

2019-12-22 13:43:27 24

原创 Handler杂谈【二】Handler的用法及解析

原文地址:https://www.jianshu.com/p/7cdf2c2ed354在Handler机制中,每一个线程有一个Looper,Looper.loop()一直无限循环,为什么没有造成ANR呢?首先要知道造成ANR的基本原因是:1.在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)2.BroadcastReceiver在10秒内没有执行完毕造成以上两点的原因有很多,比如在主...

2019-12-22 11:42:40 131

原创 使用APT实现APP动态配置应用初始BaseUrl的功能

https://blog.csdn.net/qq_16666847/article/details/98847278

2019-12-20 11:38:04 36

原创 教你如何使用协程(七)协程挂起

原文地址:https://www.bennyhuo.com/2019/05/07/coroutine-suspend/#more

2019-11-28 11:31:31 208

原创 教你如何使用协程(七)协程的取消

原文地址:https://www.bennyhuo.com/2019/04/30/coroutine-cancellation/

2019-11-28 11:30:11 138

原创 教你如何使用协程(六)协程的异常处理

原文地址:https://www.bennyhuo.com/2019/04/23/coroutine-exceptions/异步代码的异常处理通常都比较让人头疼,而协程则再一次展现了它的威力。引子我们在前面一篇文章当中提到了这样一个例子:typealias Callback = (User) -> Unitfun getUser(callback: Callback){ ...

2019-11-28 11:26:18 462

原创 教你如何使用协程(五)协程调度篇

上一篇我们知道了协程启动的几种模式,也通过示例认识了 launch 启动协程的使用方法,本文将延续这些内容从调度的角度来进一步为大家揭示协程的奥义。协程上下文调度器本质上就是一个协程上下文的实现,我们先来介绍下上下文。前面我们提到 过launch 函数有三个参数,第一个参数叫 上下文,它的接口类型是 CoroutineContext,通常我们见到的上下文的类型是 CombinedCon...

2019-11-27 18:34:58 347

原创 教你如何使用协程(四)协程+Kotlin+ Retrofit实现网络请求

原文地址:https://www.bennyhuo.com/2019/04/01/basic-coroutines/#more>接触新概念,最好的办法就是先整体看个大概,再回过头来细细品味### 需求确认在开始讲解本文之前,我们需要先确认几件事儿:1. 你用过线程对吧?2. 你写过回调对吧?3. 你用过 RxJava 类似的框架吗?

2019-11-21 20:38:28 646

原创 教你如何使用协程(三)协程的启动模式

原文地址:https://www.bennyhuo.com/2019/04/01/basic-coroutines/#more1.引子上一篇通过漫画的方式简单带大家认识了协程,本篇进一步继续带大家认识协程。2.需求确认在开始讲解协程之前,我们需要先确认几件事儿:你用过线程对吧?你写过回调对吧?你用过 RxJava 类似的框架吗?看下你的答案:1、如果上面的问题的回答都是 ...

2019-11-21 19:20:49 95

原创 教你如何使用协程(二)初步启动Kotlin协程

### 协程是什么?首先kotlin协程是kotlin的扩展库(kotlinx.coroutines)。上一篇我们简单了解了线程的概念,线程在Android开发中一般用来做一些复杂耗时的操作,避免耗时操作阻塞主线程而出现ANR的情况,例如IO操作就需要在新的线程中去完成。但是呢,如果一个页面中使用的线程太多,线程间的切换是很消耗内存资源的,我们都知道线程是由系统去控制调度的,所以线程使用起来比较难于控制。这个时候kotlin的协程就体现出它的优势了,kotlin协程是运行在线程之上的,它的切

2019-11-08 14:31:44 224

原创 教你如何使用协程(一)用漫画告诉你什么是协程?

https://www.bennyhuo.com/2019/04/01/basic-coroutines/http://www.cocoachina.com/articles/28834

2019-11-07 20:04:50 346

原创 编写您的第一个 Flutter App(二)使用外部包

使用外部包

2019-10-24 20:30:54 60

原创 Android9.0开发适配常见问题

视图焦点0 面积的视图(即宽度或高度为 0)无法再被聚焦。此外,Activity 不会再在轻触模式下隐式分配初始焦点,而是需要由您根据需要显式请求初始焦点。HTTP请求被禁止Android9.0之后,默认禁止不安全的HTTP请求,(在我们设置target=28后,在多款系统为9.0的手机上出现了大面积的图片显示不出来的问题,后来发现,不能正常显示的图片的url都是http的,能正常显...

2019-10-22 11:49:43 1309

原创 跟着官方开发第一个 Flutter App(一)创建HelloWorld程序

环境搭建

2019-10-21 13:58:38 162

原创 使用Groovy为Git添加提交语法约束

第一步:配置JDKGroovy是依赖于Java的,所以首先要配置好JDK。1、下载jdk通过JDK官网获取jdk安装包,由于本人电脑是MAC,所以这里获取的是MAC版本的JDK2、安装jdk下载完成后,双击.dmg文件,按提示一路继续下去即可完成指引安装。3、配置环境变量打开cmd命令行,在命令行中输入open .bash_profile命令来打开.bash_profile...

2019-10-17 20:38:30 128

原创 加密算法总结(一)常用加密算法介绍

一、 加密技术通常分为两大类:“对称式"和"非对称式”。对称性加密算法:对称式加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。对称加密算法用来对敏感数据等信息进行加密。非对称算法:非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件。发...

2019-09-23 20:06:41 326

原创 Vue.js

Vue笔记——node.js入门知识:https://www.jianshu.com/p/141c891561ecVue笔记——npm入门知识:https://www.jianshu.com/p/8ad93c4d3062

2019-08-09 11:41:31 67

原创 图片显示

情况一、ImageView控件宽固定,图片的高需要自适应首先要让图片的宽进行缩放,等于ImageView控件的宽;然后图片的高也进行同样的缩放,这样如果图片的高缩放之后大于ImageView控件的高,则图片的高会显示不全。情况二、ImageView控件高固定,图片的宽需要自适应首先要让图片的高进行缩放,等于ImageView控件的高;然后图片的宽也进行同样的缩放,这样如果图片的宽缩放之...

2019-05-17 15:44:57 88

转载 Android:检查通知权限并跳转到通知设置界面

原文地址:https://www.jianshu.com/p/1e27efb1dcac一、目标需求最近项目中在完善推送功能,需要进入APP时检测一下是否开启了推送权限,如果没有开启弹窗提醒,当用户点击弹窗时直接跳转到APP的通知设置界面,就像下面这种:...

2019-05-16 21:15:29 5670 3

原创 Mock数据二 利用 Express 托管静态文件,使前端可以正常访问图片,网页等文件

原文地址:http://www.expressjs.com.cn/starter/static-files.html为了提供诸如图像、CSS 文件和 JavaScript 文件之类的静态文件,请使用 Express 中的 express.static 内置中间件函数。此函数特征如下:express.static(root, [options])The root argument spec...

2019-04-11 19:29:40 357

转载 获取安卓设备唯一ID

获取安卓设备唯一ID:https://blog.csdn.net/jiangtea/article/details/72889018android获取设备唯一ID(优化方案):https://www.jianshu.com/p/76e4b213307b

2019-03-28 11:12:10 2740

原创 多渠道打包二 修改了应用包名,需要重新申请的第三方账号

111

2019-03-14 18:56:39 772

转载 RxJava整理

关于RxJava2.0你不知道的事手把手教你使用 RxJava 2.0(一)

2019-01-09 15:45:57 121

原创 Android 实现录音功能

Android音频管理之AudioManager(原创):https://www.jianshu.com/p/b5c1fe63cf16Android 录音实现(AudioRecord):https://www.jianshu.com/p/90c4071c7768Android 录音实现(MediaRecorder):https://www.jianshu.com/p/de779d509e6c...

2018-12-28 11:14:06 10293 4

原创 WebSocket

通俗易懂的使用OkHttp进行WebSocket连接教程:上来直接撸代码

2018-12-25 14:38:46 116

原创 Mock数据一 使用基于Node.js的Express框架来Mock接口数据

安装Express:http://www.expressjs.com.cn/starter/installing.html

2018-12-20 18:01:47 632

原创 通过JavaScript实现一个简单的贪食蛇游戏

效果图:1、在页面添加类名为map的div,设置相应的风格<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title&

2018-12-14 16:44:52 154

原创 Android和IOS的发展历史

Android的发明者安迪*鲁滨,曾经在苹果公司作为技术员工开发工作过一年,当时乔伯斯被苹果公司辞退,苹果面临倒闭的财务危机,安迪鲁滨后来辞职。2002左右年创办了自己的Android公司,安迪*鲁滨最初的商业计划是开发一款支持云存储技术的相机平台。其中包括一款“以无线或有线”方式连接到PC,并通过PC连接到“Android数据中心”的相机。但相机市场的增速开始放缓,智能手机市场开始爆炸...

2018-11-22 11:23:27 2027

原创 Android和IOS的区别和联系

Android和IOS系统的发展历史Android的发明者安迪*鲁滨,曾经在苹果公司作为技术员工开发工作过一年,当时乔伯斯被苹果公司辞退,苹果面临倒闭的财务危机,安迪鲁滨后来辞职。2002左右年创办了自己的Android公司,安迪*鲁滨最初的商业计划是开发一款支持云存储技术的相机平台。其中包括一款“以无线或有线”方式连接到PC,并通过PC连接到“Android数据中心”的相机。但相机市场的增速...

2018-11-22 11:19:48 3949 1

原创 计算机和编程语言的发展历史

Android和iOS的区别(从开发角度比较)一、Android、ios发展史:https://www.jianshu.com/p/3fbab95bbb60https://www.jianshu.com/p/aa3758739145二、Android和iOS的区别(从开发角度比较):https://www.jianshu.com/p/e162b76e3e6f...

2018-11-12 13:49:57 14676 8

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