- 博客(254)
- 资源 (31)
- 收藏
- 关注

原创 MacBook使用与应用推荐
前言最近觉得Linux已经不想使用了,恰逢最近需要搞Flutter、Dart和iOS相关的东西,因此就分期上手了配置为16G+512G+8核+AMD 560X显卡的MacBook Pro 2019。下面是我安装的一些东西和使用姿势。首先,我们需要安装下brew:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com...
2020-12-03 19:46:38
3004
2

原创 博客整理
前言现在只能这么搞了,之前的自定义模块不见了,有时候找朋友博客还是蛮麻烦了的。友链博客名称域名说明岸居仔https://blog.youkuaiyun.com/qq811299838学C++的。...
2019-07-28 23:16:59
417

原创 Linux 常用软件、开发软件、问题解决整理
Linux Mint 修改分屏分辨率 Linux双显示器配置分辨率 其实,还有一个原因:可能是因为你的电脑不是很兼容VGA(假如你有HDMI接口和VGA接口,并且你当前使用的是VGA的话),那么,也许你就需要一条VGA转HDMI的转接线了O(∩_∩)O哈哈~Ubuntu中可以卸载的软件sudo apt-get -y --auto-remove purge unity un...
2019-06-03 23:30:54
5755
2

原创 AI 名词解释、图像素材、学习资料
名词性解释Last Edited: Apr 24, 2019 9:42 AMTags: loss function张量:多维数组。深度学习:深层神经网络。深层神经网络是多层非线性变换最常用的一种方法。精确定义:一类通过多层非线性变换对高复杂性数据建模算法的合集。只通过线性变换,任意层的全连接神经网络和单层神经网络模型的表达能力没有任何区别,而且它们都是线性模型。然而线性...
2019-05-26 23:59:19
2109
1
原创 Android aosp源码阅读
前言最近因为找工作,需要频繁查阅Android源码。因此,打算在本地硬盘上下载Android源码,通过Android Studio来阅读。Android 源码构建:https://source.android.com/setup【建议直接阅读该文档】操作流程配置硬盘由于我使用的是MacOS,所以仅提供MacOS的配置流程。打开Disk UtilityFile -> New Image -> Blank Image按照下图配置一块200G,区分大小写的磁盘分区。一定要区分
2021-12-16 20:46:18
3922
原创 自定义UI 自定义布局
系列文章目录自定义UI 基础知识自定义UI 绘制饼图自定义UI 圆形头像自定义UI 自制表盘自定义UI 简易图文混排自定义UI 使用Camera做三维变换自定义UI 属性动画文章目录系列文章目录前言布局流程简介具体流程实现源码View#onMeasureView#onLayoutViewGroup#onMeasureViewGroup#onLayoutonMeasure 入参解释自定义布局自定义 onMeasure完全自定义 onMeasure附录前言这系列的文章主要是基于扔物线的H
2021-08-15 16:57:05
596
原创 自定义UI 属性动画
系列文章目录自定义UI 基础知识自定义UI 绘制饼图自定义UI 圆形头像自定义UI 自制表盘自定义UI 简易图文混排自定义UI 使用Camera做三维变换文章目录系列文章目录前言属性动画和视图动画的区别android.view.View#animate使用示例属性动画定义View 定义android.animation.ObjectAnimator使用示例属性动画定义View 定义多动画串行示例多动画并行示例指定动画关键帧示例使用 TypeEvaluator属性动画定义View的定义文字滚
2021-08-09 23:16:19
891
原创 自定义UI 使用Camera做三维变换
系列文章目录自定义UI 基础知识自定义UI 绘制饼图自定义UI 圆形头像自定义UI 自制表盘自定义UI 简易图文混排文章目录系列文章目录前言创建绘制对象加载图片自定义绘制内容定义绘制的位置变换流程解析变换参数左上部分变换右下部分变换3D变换附录源码前言这系列的文章主要是基于扔物线的HenCoderPlus课程的源码来分析学习。扔物线课程源码:CameraView.javaAndroid官方文档:自定义绘制这一篇文章主要介绍的是Camera做三维变换,更多细节请见:HenC
2021-08-07 12:40:30
595
原创 自定义UI 简易图文混排
系列文章目录自定义UI 基础知识自定义UI 绘制饼图自定义UI 圆形头像自定义UI 自制表盘文章目录系列文章目录前言创建绘制对象加载图片自定义绘制内容绘制图片绘制文字文本宽高获取测量文字宽度文本绘制的位置实现代码附录源码前言这系列的文章主要是基于扔物线的HenCoderPlus课程的源码来分析学习。扔物线课程源码:ImageTextView.javaAndroid官方文档:自定义绘制这一篇文章主要介绍的是文字的测量,更多的内容可以参考:HenCoder Android 开发
2021-07-18 17:00:58
731
1
原创 自定义UI 自制表盘
系列文章目录自定义UI 基础知识自定义UI 绘制饼图自定义UI 圆形头像文章目录系列文章目录前言创建绘制对象设置布局位置自定义绘制内容表盘参数说明绘制表盘弧度绘制表盘刻度准备刻度柱子绘制表盘刻度绘制指针附录前言这系列的文章主要是基于扔物线的HenCoderPlus课程的源码来分析学习。扔物线课程源码:Dashboard.javaAndroid官方文档:自定义绘制创建绘制对象我们需要创建一个画笔????Paint来绘制我们的表盘。public class Dashboard
2021-07-11 17:48:16
1115
原创 自定义UI 圆形头像
系列文章目录自定义UI 基础知识自定义UI 绘制饼图文章目录系列文章目录前言创建绘制对象加载头像自定义绘制内容绘制头像边框绘制头像融合图层Xfermode融合图片验证1设置离屏缓冲canvas#saveLayercanvas#restoreToCount设置离屏缓冲位置附录源码前言这系列的文章主要是基于扔物线的HenCoderPlus课程的源码来分析学习。扔物线课程源码:AvatarView.javaAndroid官方文档:自定义绘制创建绘制对象我们需要创建一个画笔????Pa
2021-07-06 23:48:35
1009
9
原创 自定义UI 绘制饼图
系列文章目录文章目录系列文章目录前言绘制饼图创建绘制对象设置布局位置实验效果自定义绘制内容绘制扇形绘制扇形图将扇形图往外拉原理解析附录前言这系列的文章主要是基于扔物线的HenCoderPlus课程的源码来分析学习。绘制饼图扔物线课程源码:PieChart.javaAndroid官方文档:自定义绘制创建绘制对象我们需要创建一个画笔????Paint来绘制我们的饼图。public class PieChart extends View { // 饼图的半径 private
2021-07-04 15:20:39
483
原创 自定义UI 基础知识
系列文章目录文章目录系列文章目录前言自定义UI自定义视图组件补充知识点附录前言最近在学习Android自定义UI。在网上搜索了一番关于自定义UI的内容,发现目前反馈最好的应该是扔物线的自定义UI教程(腾讯课堂的上课链接)。在万能的Github交友社区找到了扔物线的HenCoderPlus课程的源码。这系列的文章主要是基于扔物线的源码来分析学习。本篇文章不详细介绍一些官方已经有详细讲解的内容,仅仅是作为官方文档外补充的笔记^_^。如果有必要,将会将官方文档的链接贴出来,方便各位看官享用。自定义
2021-07-04 15:19:44
859
原创 Flutter 关于Flutter的Skia版本的问题
前言本文仅仅作为一篇记录性的文章。最近遇到一个问题,就是为什么Flutter在低端机上的渲染性能可能会超过原生的问题。看到的一个解释是,Flutter使用了最新版本的Skia。Skia也针对Flutter做了一些优化。那么,问题来了,Flutter engine中是否包含Skia呢?结论Skia是打入了Flutter engine的,具体可以参见Flutter engine的编译流程:26 code results in flutter/engine or view all results
2021-04-10 16:56:36
754
原创 Rom Redmi Note 4升级到Android11
前言我手头上有一台旧设备,是Redmi Note 4的,自带的系统是Android8.0的。(具体参数详见:红米Note 4,我真的不是打广告的,_)这手机,丢了,觉得浪费;不丢,感觉也没啥用。有种“食之无味,弃之可惜”的感觉。╮(╯▽╰)╭突然想起来,我其实可以自己升(刷)级(机)的……搞“机”真的是一个很有意思的事情_。这么一想,搞“机”已经很多年了。从Android2.1时代开始╮(╯▽╰)╭。升级过程以下流程仅仅适用于Redmi Note 4,请不要用其他设备尝试,以免变砖????。
2021-04-05 16:27:28
4371
原创 Android 插件化 pre-verify问题简析与解决方案
pre-verify问题简析与解决方案前言问题原理解析pre-verify附录Tinker前言最近在Android5.0以下的设备发现了一个问题:Class ref in pre-verified class resolved to unexpected implementation。【备份】这里记录下我收集到的一部分资料,以后后续浏览。问题FATAL EXCEPTION: mainProcess: com.xxx.yyy:plugin1, PID: 10850java.lang.Illega
2021-01-31 15:26:00
924
原创 JVM 类加载器和类本身一同确立类在Java虚拟机中的唯一性
前言最近遇到了一个问题:由不同类加载器加载同一个类,实例化为对象。使用instanceof判断该对象与该类的归属,请问结果是true还是false?答案是false。解析验证import java.io.IOException;import java.io.InputStream;public class ClassLoaderTest { public static void main(String[] args) throws Exception { ClassL
2021-01-01 12:11:28
731
3
原创 Java 单例模式浅析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码
2020-12-03 21:19:25
342
原创 Neptune Android11 resources.arsc不支持压缩问题解决
前言最近维护Neptune框架的时候,发现插件在升级compileSdkVersion、targetSdkVersion到30之后,会出现插件无法安装的问题。这里记录下相关的内容。问题原因出问题的代码这里简单描述下一些前置的背景知识:插件也是一个独立的apkNeptune框架的插件是可以访问宿主资源的插件安装到宿主需要校验包名和版本号等信息以下的代码,就是主动获取插件Apk的一些基本信息,包括包名、版本号等。PackageManager pm = context.getPackage
2020-10-22 20:51:32
5255
10
原创 Git 多SSH密钥简易配置教程
前言当我们想要在一台电脑中,给不同的域名配置不同的ssh密钥,也就是说一台电脑中存在多个密钥,可以通过ssh config来配置。这里仅仅介绍Unix系列的文档,Windows不在此列。准备知识默认配置在电脑中,会有一份默认的配置,我们可以先从默认配置来学习。先查看下文件的内容:cat /etc/ssh/ssh_config,文件内容如下:➜ .ssh cat /etc/ssh/ssh_config# $OpenBSD: ssh_config,v 1.34 2019/02/04 02:
2020-10-08 16:15:01
684
原创 Android ART Dex2Oat相关笔记
前言最近在了解ART相关的内容,这里做下笔记记录下。官方文档:Android Runtime (ART) 和 Dalvik:详细的介绍了ART的特性和功能。ART概念Android Runtime (ART) 是 Android 上的应用和部分系统服务使用的托管式运行时。ART 及其前身 Dalvik 最初是专为 Android 项目打造的。作为运行时的 ART 可执行 Dalvik 可执行文件并遵循 Dex 字节码规范。ART 和 Dalvik 是运行 Dex 字节码的兼容运行时,因此针
2020-08-02 14:25:13
1071
2
原创 Neptune 跨Dex调用问题解决
前言最近在维护Neptune框架的时候,遇到了一个问题,这里简单的记录下问题原因和解决方案。Neptune这是爱奇艺开源的两个插件化框架之一,一个是Neptune,一个是Qigsaw。Neptune is a flexible, powerful and lightweight plugin framework for Android.Neptune早期借鉴了百度的插件化框架,后续借鉴了滴滴推出的插件化框架方案VirtualAPK,慢慢发展成为一套较为稳定的方案。目前服务于爱奇艺和随刻两个App
2020-07-11 20:54:17
1384
转载 Flutter 包体积之数据区域压缩分析与实践
前言文章经过作者同意,转发到本博客:Flutter包体积之数据区域压缩分析与实践。背景:在存量iOS应用中,接入Flutter框架,即混合开发模式,大概会给存量的iOS应用增加10M的包体积。本篇文章介绍Flutter包体积优化的一种思路。文章目录前言大纲基础知识介绍产物Dart运行方式Dart VM有三种运行方式Dart运行AOTSnapshot分析与实践写入时压缩读取时解压总结附录大纲开发环境:Flutter 1.9.1实验工程:官方维护的Flutter插件battery_exampl
2020-05-10 17:18:33
1246
原创 Android 代码注入的记录
前言最近因为工作需要,需要使用代码注入的功能,这里简单介绍下代码注入的流程和心得。这篇文章主要是包含了我收集的一些有用的东西,没有其他的一些具体分享。前置知识Android的代码注入需要对Class的一些指令比较熟悉,才可以完成基本的操作。Class文件的结构Class文件的结构大概如下所示,其中*表示0个或者多个。摘录自:ASM4-GuideCore API / C...
2020-05-01 22:13:48
750
原创 Android 注解器开发流程
前言Android使用注解生成器生成Java代码~官方介绍:添加注释处理器。接入流程创建Annotation关于反射的基础知识可见:第12章 元编程与注解、反射 《Kotlin 项目实战开发》在Android Studio中创建一个Java Library,名称叫做x_annotation。x_annotation的Gradle的配置如下:apply plugin: '...
2020-04-24 22:10:40
432
1
原创 Android 创建插件buildSrc流程
前言当需要编写类似代码注入的插件的时候,就需要创建一个名称为buildSrc的Android插件工程。值得注意的是,这个工程在一个Android工程中,仅仅有一个。并且,这个工程的名称只能叫做buildSrc。Gradle会在配置初始化之前,编译BuildSrc这个项目(可以是Java、Groovy、Kotlin),并配置到classpath下。如果buildSrc是一个Groovy...
2020-04-24 22:06:35
6131
4
原创 Flutter 关于Mac Catalyst的支持情况
前言最近想要了解下Flutter是否支持苹果的Mac Catalyst,在苹果的官网可以看到关于Mac Catalyst的一些介绍:Create a version of your iPad app that users can run on a Mac device.。显而易见,这是苹果推出的打通Macos和iPad生态的一个项目。那么,具有跨端一致性的Flutter是否支持呢?情况想到这...
2020-03-24 19:15:43
640
原创 Git Commit Hook
前言刚好写Shell工程,需要规范代码提交,就简单记录下。╮(╯▽╰)╭流程安装插件# 安装npm环境brew install npm# 安装插件npm install -g @commitlint/cli @commitlint/config-conventional如果对于commitlint有更多想要了解的,详见:helps your team adhering to ...
2020-03-17 22:44:04
1359
原创 Flutter iOS CI脚本制作
前言分析了一堆的内容,其实主要就是为了做Flutter的CI的事情。让我们在本文中探讨如何制作Flutter CI for iOS。踩坑的本机环境注意对比下我的环境和你的环境是否一样,有些问题在Flutter的新版本中已经被修复了。➜ app git:(master) ✗ flutter --versionFlutter 1.9.1+hotfix.6 • channel stabl...
2020-01-25 13:21:12
628
原创 Flutter xcode_backend分析
前言xcode_backend.sh位于$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh,是Flutter编译iOS产物的一个关键部分,本篇文章用于分析该脚本。为何要分析?当我们创建完毕Flutter Module,并且通过官方的方式引入了Flutter框架后,我们会在Target->Build Phases->R...
2020-01-05 15:52:51
1581
原创 Flutter build ios产物分析
前言如果你是Android转iOS,或者是想开发Flutter插件,可以看看我的文章:iOS 入门开发踩坑实录。我就是一个Android开发,由于开发插件需要,学了部分的iOS开发的东西。Flutter提供的官方接入方案:Add Flutter to existing apps,值得一提的是官方在Flutter 1.12上提供了Android Studio直接接入Flutter的方案。...
2019-12-28 16:45:25
3640
1
原创 混沌工程简单介绍
混沌工程(Chaos Engineering)是在分布式系统上进行实验的学科,目的是建立对系统抵御生产环境中失控条件的能力以及信心。最早由Netflix及相关团队提出,为Netflix生产环境的可靠性保驾护航。混沌工程的核心思想是通过主动的制造故障来验证系统的稳定性。
2019-12-03 20:16:43
2360
原创 关于网络架构XCDN的一种思考
前言最近组里一直在搞HCDN的方案,以及在一些分享上听说了HCDN的一些东西,在这里起个草稿,记录下,方便以后需要的时候查阅。HCDNHCDN技术荣获了2017年度CCF科学技术奖技术发明二等奖,论文中的介绍为——本项目针对大规模在线视频分发,提出了同时调度骨干CDN节点和海量P2P节点的分发架构,以及上行/下行流量市场模型、跨平台转移供应和基于应用增强学习的供需平衡干预等一系列新技术,在跨...
2019-11-09 20:54:49
2999
原创 Linux 开发软件
前言这是开发中可能使用到的一类软件。安装Ubuntu 16.04后要做的事(总结)通用IDEVIM极客大佬才玩的东西,我一般都不怎么用,╮(╯▽╰)╭VIM安装安装vim,可以直接执行以下命令行:apt-get install vim注意:vim安装完后有提供对应的文档教程,具体使用方法是:vimtutor后就可以打开文档教程进行学习对应的vim指令。VIM配置当...
2019-10-24 09:33:38
3685
1
原创 Python 多进程多线程的简易教程
前言自从用了Python的多进程、多线程之后,发现了一些坑,感觉这个东西用起来还是没那么的方便呀~这里记录下我的一些简单的使用教程。Python在Python中,存在多进程、多线程和协程,这里就介绍多进程和多线程的使用。这里使用的库是multiprocessing的多进程库Pool,以及multiprocessing.dummy的多线程库Pool。这两个库的方法调用都是一致的,下面将介绍下...
2019-08-13 23:47:46
513
Slickedit_v23_2018_keygen
2019-04-10
sun.misc.BASE64Decoder
2017-09-06
testDialog
2017-08-14
Android Studio 汉化包
2016-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人