- 博客(14)
- 收藏
- 关注
原创 UICollectionViewDiffableDataSource+NSDiffableDataSourceSnapshot无法部分刷新/每次都全亮刷新/数据类hash不调用的终极解决方案(爆蠢)
没有原因!没有原因!没有原因!!!
2024-01-07 20:47:35
534
原创 CATiledLayer参数解释/踩坑
tileSize就是分片大小。以像素为单位。理解这一点,十分十分重要。例如,你的手机是3倍屏,tileSize设为屏幕宽度(pt)的正方形,你会看到3x3个tile。因为每一个tile实际上是屏幕宽度的三分之一。实际项目中,设置为屏幕宽度的正方形,感觉就没啥毛病。设置的太小,会导致tile太多,影响绘制效率。CATiledLayer不是单层瓷砖。每一层瓷砖,代表一层清晰度水平。放大后,会使用下一层瓷砖显示。
2023-12-23 15:34:30
1253
原创 UIScrollView双指放大时禁止拖动/禁止双指拖动/固定放大中心点
做过iOS开发的都知道,UIScrollView是个好东西。UIView丢进去,即可自由拖拽、放大缩小。但UIScrollView有个很讨厌的特性,双指放大时,画布也会随着两根手指拖动,无法固定放大中心点。
2023-12-01 19:42:57
766
原创 PubSub/DataFlow注入BigQuery,数据无法注入,积压字节数很大
原来是数据中出现了NaN,导致注入BigQuery失败。而注入BigQuery失败,默认的操作是立即重试,直到成功为止。建议中间加一个DataFlow,照着官网Flex模板的示例自定义一个Flex模板。这样哪里出错了,起码有log可以看。如果用的是PubSub直接注入BigQuery,这个问题根本没有log可以看。哪里出现问题都不知道。这就会导致注入操作一直卡在出错的地方,反复重试直至天荒地老,永远不能继续,后续字节一直积压。贴个简单的例子,读取PubSub流然后存入BQ。
2023-07-02 17:07:42
196
原创 Python常驻脚本优雅的处理kill信号
我们经常会写一个python脚本挂在后台。当python脚本代码更新时,需要重新启动。此时如果贸然kill,当前运行的进度都会丢失。所以我们需要优雅的处理kill信号,也就是当收到SIGINT或者SIGTERM信号时,等待当前任务完全执行完毕再退出脚本。
2023-03-12 13:17:40
667
1
原创 安卓TextView圆形背景、圆角矩形背景根据文字长度自适应
设计师要求TextView高度固定,当文字长度为1时,显示圆形背景;当文字长度大于1时显示圆角矩形背景。如图所示。困难在于,设定宽度wrap_content,当文字长度为1时,不一定能保证宽高比正好为1:1比较容易想到的方法是,弄两个TextView,圆形背景的永远保持1:1大小不变,圆角矩形背景的宽度设定为wrap_content,根据文字长度分别设置两者的Visibility即可。但这样做过于麻烦,一个View就可以解决。
2022-12-06 19:42:16
1437
原创 Lottie动画文件;Lottie json文件,直接更改颜色
Lottie的json文件,采用rgba float数组的形式存储颜色。对于没有透明度的,直接搜“,1]”即可找到所有改颜色的位置。数组里每个值取值范围是0-1。
2022-12-02 19:00:43
4008
原创 Mac git 突然提交不了代码;Mac ssh突然不好用;Mac ssh Permission Denied;ssh公钥突然失效
前几日,Mac突然提交不了代码了。确保公钥、git账号,都已经配置正确了。反复生成了很多遍公钥,重新配置,都没有用。查了一下午终于发现原因,在此记录一下。究其原因,是升级系统,ssh不知道随着谁升级了,而8.8以上版本的ssh,默认不支持rsa加密了,故而出现提交不了代码的情况。如果是8.8以上,看下面这些文章,即可解决。首先,查看ssh版本。
2022-11-19 10:33:08
601
原创 RecyclerView性能优化——通过Handler.postDelay()
RecyclerView性能优化是老生常谈了。今天我想到一种简单的方法,能有效提高滑动的流畅度。
2022-11-15 20:07:31
416
原创 iOS计算UIBezierPath交集(绘制UIBezierPath交集)
安卓中,系统提供Path.op,计算两个Path的交集。然而,iOS的UIBezierPath并没有类似的API。
2022-11-12 22:37:59
564
原创 Android自定义View,绘制Path相交,使用Canvas.clipPath代替Path.op
如果只是单纯的绘制两个Path交集的话,不妨采用Canvas.clipPath的方法。用其中一个path当作clipPath,其中一个drawPath,即可画出想要的效果。
2022-11-12 22:22:23
1863
原创 ValueAnimator.ofFloat()传入多个值后如何插值?浅析ValueAnimator原理
ValueAnimator.ofFloat(0,1,0)到底怎么插值?为什么和我们想的不一样?这篇文章一看便明。
2022-11-12 00:51:59
718
原创 最简单24点算法,可任意实现n数n点,一看就明!
介绍网上的24点算法基本上都专注于4张牌凑24点,有的算法甚至枚举了所有括号的组合,让人看得头晕眼花。这些算法若是推广到n个数凑n点,基本都歇菜了。丧心病狂如这位:https://blog.youkuaiyun.com/xyisv/article/details/54709207 这位大哥写的不错,可惜思路太复杂:https://blog.youkuaiyun.com/luoweifu/article/det...
2018-07-30 22:16:06
26020
4
原创 C语言实现RLE(游程编码)压缩算法(粘贴就能用)
RLE算法是最简单的压缩算法,作为学生党做作业不可避免的要去网上找RLE算法的代码,然而网上所有RLE压缩算法的代码都不好使,笔者在网上代码的基础上略加修改,使之粘贴即可使用。源码来自:http://blog.youkuaiyun.com/calcular/article/details/46804919 算法思想来自:http://blog.youkuaiyun.com/orbit/article/details/70
2017-12-18 01:49:42
8600
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人