自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(378)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

原创 Android重要知识点学习总结

Java多线程、线程池、异步任务HashMap、HashTable、ConcurrentHashMap四大引用反射接口、抽象类的区别垃圾回收机制JVM内存模型设计模式基本原则单例策略工厂、建造者适配器观察者AndroidActivity启动模式App的启动流程Handler原理事件分发机制Activity、Window、View的关系View的绘制流程断点续传类加载过程(插件化和热修复)kotlin + jetpack + mvvm进程间通信进程

2021-01-31 19:07:40 1135 1

原创 FFmpeg命令实例合集

ffmpeg命令实例

2019-11-15 17:41:55 6551 2

原创 Android Studio Unknown host You may need to adjust the proxy settings in Gradle解决办法

1.设置为No proxy2.删除.gradle下的gradle.properties文件

2024-02-27 16:14:50 627

原创 vue自定义view,传值和事件回调

【代码】vue自定义view,传值和事件回调。

2024-02-18 09:42:40 341

原创 Cocos creator 动作系统

是用于控制物体运动的一套系统,完全依赖代码进行实现,动态调节节点的移动。

2024-01-30 11:00:57 927

原创 cocos creator 调用预设体Prefab中的方法(调用另一个节点的方法)

【代码】cocos creator 调用预设体Prefab中的方法(调用另一个节点的方法)

2024-01-29 11:09:37 418

原创 cocos creator 碰撞系统

添加组件中添加碰撞组件。

2024-01-25 10:41:05 596

原创 Cocos creator 的事件处理(鼠标事件、键盘事件、触摸事件、自定义事件、控制精灵移动Demo)

发送通知(2种方式)cc.log("点击按钮,发送事件1")})cc.log("点击按钮,发送事件2")接收方//自定义事件,例如通知cc.log("自定义事件触发")})

2024-01-19 14:10:54 709

原创 Android studio 历史版本下载

Android studio 历史版本https://developer.android.google.cn/studio/archive页面加载完成后,点击I agree进入历史版本列表

2024-01-12 09:29:05 660

原创 Android Studio Git Invocation failed Unexpected end of file from server

Invocation failed Unexpected end of file from server解决办法,勾选以下内容

2023-12-12 11:06:48 199

原创 vue开发,axios网络请求框架基本用法和封装

【代码】vue开发,axios网络请求框架基本用法和封装。

2023-12-07 15:31:39 779

原创 后端SSL证书更新流程

申请成功后,点击下载,下载Tomcat版。在服务端代码中配置后,打包发布。阿里云先购买20个免费额度。创建免费证书,提交证书申请。

2023-04-12 10:27:37 276 1

原创 bat+ffmpeg批处理图片,图片批量转码

【代码】bat+ffmpeg批处理图片,图片批量转码。

2023-03-15 15:08:24 879

原创 Android几种数据存储的对比(MMKV、DataStore、SharedPreference)

Jetpack DataStore 是一种改进的新数据存储解决方案,允许使用协议缓冲区存储键值对或类型化对象。DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的一些缺点。DataStore基于Kotlin协程和Flow实现,并且可以对SP数据进行迁移,旨在取代SP。MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。

2022-11-16 11:36:55 2215 1

原创 Android 热修复Tinker框架

首先通过assmeble打包(通过run打包作为bakApk时,差异包可能编译出错)修改代码后,打包补丁包。(注意需要在app.gradle中配置基准包信息)

2022-10-28 16:13:43 472

原创 Android 使用adb修改手机分辨率、dpi

【代码】Android 使用adb修改手机分辨率、dpi。

2022-10-13 09:15:27 14563 2

原创 Java LinkedBlockingQueue阻塞队列

阻塞队列

2022-05-12 16:51:55 804

原创 PyTorch开发环境搭建,Anaconda+PyTorch+PyCharm

Anaconda(用作包管理工具)官网https://www.anaconda.com/历史版本https://repo.anaconda.com/archive/创建一个环境激活环境PyTorchPyTorch是一个开源的Python机器学习库官网https://pytorch.org/测试PyTorch是否安装成功PyCharm(社区版)官网https://www.jetbrains.com/pycharm/...

2022-05-08 19:10:16 539

原创 Can‘t use Subversion command line client: svn Probably the path to Subversion executable is wrong

Android Studio配置svn问题如果安装的TortoiseSVN工具,本身是不带有command-line功能的,必须要安装Apache-Subversion,而且须要单独安装。下载Apache-Subversionhttps://www.visualsvn.com/files/Apache-Subversion-1.9.2.zip下载后可以看到Android Studio中配置该地址即可...

2022-05-05 16:02:43 408

原创 Android Mediacodec解码视频(通过Surface播放、得到Image数据)

MediaCodec解码得到Image对于仅仅需要将视频切分为一帧一帧并保存为图片的用户来说,使用这种方法比bigflake的方法会快10倍左右,因为没有OpenGL渲染,以及转换为Bitmap的开销。而对于需要获得视频帧YUV格式数据的用户来说,这种方法能够直接得到YUV格式数据,中间没有数学运算,不会出现不必要的精度损失,而且,也是效率最高的。package com.vision.opengl.decoder;import android.graphics.Bitmap;import an

2022-04-28 16:44:59 5184

原创 MySQL-8.0.28安装搭建过程

MySQL下载官网官网下载地址下载并解压到C:\Users\1\mysql-8.0.28-winx64添加环境变量我的电脑->属性->高级->环境变量,在path下新建C:\Users\1\mysql-8.0.28-winx64\bin测试是否安装成功

2022-04-02 20:18:18 1261

原创 Android CoordinatorLayout嵌套RecyclerView再嵌套RecyclerView后导致联动失效问题

问题CoordinatorLayout 嵌套 RecyclerView 滑动联动没问题,但是在 RecylerView 中再嵌套一层 RecyclerView 就会出现不联动的问题。解决给最内层的 RecyclerView 设置属性:nestedScrollingEnabled = false,使其不参与联动 <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv_item"

2022-03-06 00:54:34 3108

原创 FFmpeg movie和amovie的使用

moviemovie可以用于加载一个输入源,同-i命令区别movie是一个filter可以写在filter_complex中,这样的好处是可以随时用随时输入,不需要去记输入源的id,缺点在于很多Main options参数用不了,例如itsoffset延时播放-i是Main options,输入和处理分离,通过[id:v]来取输入源,缺点在于当输入源过多时,需要标记每个输入源的id用法moviemovie=in.avi:seek_point=3.2, scale=180:-1, s

2022-02-08 09:44:27 2059

原创 Android内存泄漏检测工具LeakCanary

LeakCanaryhttps://github.com/square/leakcanary引入dependencies { //https://github.com/square/leakcanary debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'}2.0以上的leakcanary自带ContentProvider初始化在ContentProvider中进行初始化interna

2022-01-06 10:00:39 1886

原创 Android 设置drawableTop无效的问题

无效代码 //设置顶部图标 val drawable = resources.getDrawable(align.resId) setCompoundDrawables(null, drawable, null, null)有效代码AppCompatResources.getDrawable获取资源图片需要设置setBounds val drawable = AppCo

2021-11-14 09:10:53 2022

原创 Java合并两个有序数组、合并两个有序链表

合并有序链表牛客网:CC85 合并两个排序的链表 public ListNode mergeList(ListNode list1, ListNode list2) { ListNode newHead = new ListNode(0); ListNode curNode = newHead; while (list1 != null && list2 != null) { if (list1.val &

2021-11-05 09:53:23 182

原创 Java判断链表中是否有环(快慢指针)

LeetCodehttps://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9?tpId=46&&tqId=29039&rp=1&ru=/ta/classic-code&qru=/ta/classic-code/question-ranking算法 public boolean hasCycle(ListNode head) { if (head == null) r

2021-09-28 14:56:34 188

原创 Android MVVM+RecyclerView+SwipeRefreshLayout实现下拉刷新和上滑加载更多

引入 //ViewModel的创建 implementation 'androidx.activity:activity-ktx:1.1.0'//by viewModels implementation 'androidx.fragment:fragment-ktx:1.2.5'//by viewModels // implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"//下拉刷新.

2021-08-31 15:29:56 735 1

原创 Android 监听软键盘SoftKeyboard的高度变化

方案一,使用blankj:utilcodehttps://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/README-CN.md KeyboardUtil.observeKeyboard(requireActivity()) { val param = binding.flKeyboard.layoutParams param.height = it .

2021-06-26 17:02:58 635

原创 Android ViewModel和LiveData源码分析

获取动态数据时使用例如:获取首页的列表,首次加载和加载更多时,数据是变化的,此时使用livedata中存储每次请求的结果,在activity中统一进行观测即可。如果是第一页,则setData否则addData。在列表刷新和加载更多时,只需要一行调用ViewModel.refreshData或ViewModel.loadMoreData方法即可,不需做其他逻辑操作,都交给ViewModel处理优势:简洁逻辑清晰。对同一类型的数据集中处理。非动态数据时可以不用livedata例如获取优.

2021-05-26 11:25:08 229 6

原创 【设计模式】观察者模式(Observer)

观察者模式观察者模式的定义:指多个对象间存在一对多的依赖关系,当一个对象发生改变时,所有依赖他的对象都会得到通知并自动更新。这种模式又被称为发布—订阅模式、模型—视图模式,它是对象行为型模式。观察者模式的优点:降低目标与观察者之间的耦合关系,两者是抽象耦合关系。自定义观察者模式Java中自带的Observable和Observer参考资料观察者模式(Observer模式)详解...

2021-05-20 12:46:53 213

原创 Android Gson的使用和源码分析总结

GsonJSON(JavaScript Object Notation)是一种轻量级的数据交换格式Gson是Google推出的用于在Java对象和JSON数据之间进行映射的Java类库,可以将一个JSON字符串转化为Java对象(反序列化),或者将Java对象转换为JSON字符串(序列化)https://github.com/google/gsonGson使用导入//https://github.com/google/gsonimplementation 'com.google.cod

2021-05-19 12:24:07 240

原创 Android 软件盘相关的问题(在BottomSheetDialogFragment中无法隐藏问题、使用AirPanel适配软键盘高度问题)

需求在BottomSheetDialogFragment关闭的时候收起软键盘 override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { setStyle(STYLE_NO_TITLE, R.style.BottomDialogSheet) return object : BottomSheetDialog(requireContext(),theme) { overri

2021-05-14 16:24:06 686 1

原创 Android Retrofit源码分析

Retrofit用法Retrofit注解请求方法类序号名称说明1GETget请求2POSTpost请求3PUTput请求4DELETEdelete请求5PATCHpatch请求,该请求是对put请求的补充,用于更新局部资源6HEADhead请求7OPTIONSoption请求8HTTP通用注解,可以替换以上所有的注解,其拥有method、path、hasBody三个属性参数类| 分类 | 名称

2021-05-11 17:36:59 208

原创 Android ThreadLocal相关源码和在Looper中的使用

java 线程的工作内存和ThreadLocalJava 并发 - ThreadLocal详解

2021-05-07 13:36:08 160 1

原创 Android 几种计时器的实现(RxJava、CountDownTimer 、线程池、Handler)

Android 几种计时器的实现

2021-04-29 17:54:15 575

原创 Android开发中的==、equals、hashcode的区别和联系

定义==gradlew clean assembleVestRelease参考资料Java 中的 ==, equals 与 hashCode 的区别与联系

2021-04-22 19:24:15 551

原创 【设计模式】代理模式总结(静态代理、动态代理)

代理模式代理模式就是设置一个中间代理来控制访问原目标对象,以达到增强原对象的功能和简化访问方式。静态代理这种代理方式需要代理对象和目标对象实现一样的接口。特点冗余。由于代理对象要实现与目标对象一致的接口,会产生过多的代理类。不易维护。一旦接口增加方法,目标对象与代理对象都要进行修改。静态代理在编译时就已经实现,编译完成后代理类是一个实际的class文件接口public interface IUserDao { public void save();}实现类

2021-04-19 18:14:16 156

原创 Android SparseArray和ArrayMap相关总结

SparseArray是什么?SparseArray稀疏数组,可以用来存储基本类型数据,避免数据的装箱拆箱,某些情况下性能更好。几个同类SparseArray存储Object类型,put(int key, E value)SparseIntArray存储int基本类型,put(int key, int value)SparseLongArray存储long基本类型,put(int key, long value)参考资料Android官方文档...

2021-04-17 19:52:09 261

原创 Android 使用Glide自定义BitmapTransformation实现加载图片顶部对齐(FitTop)

原图和效果图MainActivity Glide.with(this) .load(R.mipmap.ic_image) .transform(FitTopTransformation()) .into(ivImg)自定义BitmapTransformation从原图的顶部开始裁剪,从(0,0)裁剪到ImageView的宽高(outWith,outHeight)public cla

2021-04-16 13:09:11 2003

jdk-linux-x64.zip

jdk-8u221-linux-x64.tar.gz jdk-8u221-linux-x64.tar.gz

2019-08-18

vm_ubuntu_xshell.rar

VM Ubuntu XShell 安装教程 VM Ubuntu XShell 安装教程

2019-07-14

SimpleCropView-master.zip

SimpleCropView-master.zip

2019-03-23

Matisse-0.5.2-beta3.zip

Matisse-0.5.2-beta3.zip

2019-03-23

FFmpeg最新版20181111安装包

使用说明 https://blog.csdn.net/yu540135101/article/details/83964050

2018-11-18

OpenCVTest

https://blog.csdn.net/yu540135101/article/details/82593860

2018-09-11

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

TA关注的人

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