- 博客(205)
- 资源 (5)
- 收藏
- 关注

原创 仿微信图片编辑 全网功能最全的图片编辑器
序言最近写一个图片编辑器,仿造的微信的图片编辑,以下加粗的功能是微信没有的。这个项目可以说是目前编辑功能最多的编辑器。而且功能都支持定制。绘制方框绘制圆形绘制文字绘制箭头涂鸦绘制马赛克图片剪裁使用1.可以定制需要的功能,不需要的功能会自动隐藏。以下是定义的在TRSPictureEditor的常量。 public static final int BOX_ENABLE = 0x00000001;//方形选择框 public static final int CIRC
2021-04-30 00:42:50
2884
4
原创 使用Android Studio 聊微信
闲来无事发现Android Studio可以用来聊微信。新版的Android Studio有一个Running Device模块可以用来管理真机,可以操作真机。通过连接真机可以用来聊微信。问题是这个功能,可以输入文本,但是不能输入中文。于是就开发了一个工具,可以在控制台输入中文转发到手机上。
2025-07-10 15:16:03
261
原创 鸿蒙中判断两个对象是否相等
在鸿蒙开发中由于其使用@Observed修饰的类会改变原型链,特别是里面的字段。在比较两个类是否相等的时候就会有问题。
2025-07-04 23:11:33
142
原创 使用python实现 大批量的自动搜索安装apk
最近业务上需要大量安装apk。想通过python边写自动化脚本来实现。经过研究,达到了预期。现在把这个过程中遇到的一些问题记录下来,帮助大家在相同场景下更快更好的实现。
2025-06-21 10:17:55
772
原创 修改perffto的时间格式
在使用perffto的过程中,显示的时间默认是一个相对时间。和我们的logcat获取的日志不好对比。我现在记录一下怎么调整时间格式的方法。
2025-06-18 20:53:13
141
原创 使用Trace分析Android方法用时
在性能优化过程中,有时候我们需要研究一些方法耗时。可以使用Android提供的Trace 这样可以在perffto的日志文件中记录某个方法耗时。
2025-06-18 20:47:54
174
原创 使用批处理自动拉取截屏图片
在开发过程中有时候需要截屏来反应问题。截完屏以后。需要把文件发送到电脑。这个时候一般使用adb pull。但是截屏的文件名一般很长。我比较懒。写了一个脚本。可以输入一个数量自动把文件拉取到当前目录下的app_file目录下。
2025-06-17 20:35:50
223
原创 解决调试系统APP,经常被杀的问题
主要用于开发和测试阶段,方便开发者能够直接通过ADB调试连接到Android设备上的应用,而不需要每次都手动设置应用的可调试性或依赖于IDE的自动配置。不过,在实际开发过程中,更多情况下我们是在应用级别的build.gradle文件中配置debuggable选项来控制特定应用的可调试性。持久性:由于属性名称中包含 persist. 前缀,这意味着该设置会在设备重启后依然保持有效,而不像不带此前缀的属性那样仅在当前会话中生效。权限要求:执行此命令通常需要root权限,因为它是修改系统的持久属性。
2025-06-17 20:00:22
270
原创 Android 中模拟高负载场景
很多APP的性能问题都是因为高负载产生的。但是由于性能问题的复杂的外部环境。所以需要有一个方便模拟高负载的办法。提高复现率,才有机会解决问题。
2025-06-12 14:10:00
255
原创 使用adb 抓取perfetto-trace的注意事项
在使用adb命令抓取perfetto-trace的时候需要注意,需要有root权限。如果出现这个错误。可以尝试下面的方法命令解释清理并重置 Android 系统上的 Perfetto 跟踪服务,以便进行新的性能分析。常用于以下场景:清理之前的 Perfetto 跟踪文件;确保 Perfetto 服务被正确重启;在自动化测试或性能基准测试前准备环境。如果在非root的手机上执行上面的命令会出现下面的提示。
2025-06-12 10:48:18
1110
原创 解决Popwindow宽高的问题。
在使用Popwindow进行自定义的过程中,需要设置popwindow的宽高。但是宽高很多时候容易出问题。比如下面的例子。布局文件是一个屏幕全屏,高度400dp的view。背景色是白色。使用了传统方法设置宽高实际显示效果很差,没有内容只有一个黑色透明背景。
2025-03-21 10:03:13
455
原创 解决使用CardView做背景,popwindow不显示阴影的问题
这是因为PopupWindow的背景会覆盖在CardView的上层。如果PopupWindow的背景不设置为透明,它会遮挡住下面CardView的阴影效果。当我们把PopupWindow的背景设置为透明时,CardView的阴影就能够正常显示出来了。这是Android视图层级渲染的一个特性,PopupWindow的背景会作为最顶层绘制。
2025-02-28 15:33:18
514
原创 gradle 代理设置
文件路径通常为 C:\Users<YourUsername>.gradle\gradle.properties。gradle代理设置。
2025-01-05 21:46:29
204
原创 实现 GridLayoutManger 和 StaggeredGridLayoutManager 的混排
最近项目中要实现瀑布流的混排,于是写了一些工具类来实现。使用了这个工具类,可以处理混排,可以处理间距。都集成在一个接口中。最后效果类似这样。
2024-08-29 18:00:40
677
原创 可以显示调试信息的Drawable
为了研究瀑布流布局中的布局规律和 StaggeredGridLayoutManager.LayoutParams中的spanIndex的关系。需要把这些内容打印出来,但是不如直接显示在item方便。于是写了一个drawable来实现。
2024-08-29 17:33:39
285
原创 使用gradle 移除敏感权限
最近要上架Google Play 但是因为有个敏感权限很容易被拒。想着把权限依赖的库去掉就行了,但是遇到一个恶心的问题。就是这个权限在Android Studio的Merged Manifest 视图中没有,但是在生成的apk中却包含。这样的就不能通过Android Studio来定位权限来自于那个库。包含在生成的清单文件中。
2024-08-29 11:57:06
512
1
原创 Android 优化之 查找so 文件的来源
有时候我们需要优化apk的包体积大小。比如下面这样的。一个so文件大小有10M。但是我们并不知道so文件是那个库引入的。所以需要研究一下。
2024-08-29 02:03:34
801
原创 StaggeredGridLayoutManager 瀑布流 bug处理
【代码】StaggeredGridLayoutManager 瀑布流 bug处理。
2024-08-28 17:21:46
487
原创 清除系统默认 dialog 样式
有时候继承dialog,使用自定义布局,显示的效果和预期差距很大,大小不正常,背景色也不正常。可以通过下面的style来清除这些影响。android
2024-08-09 15:48:57
350
1
原创 Retrofit 自定义注解 实现可选择性的打印接口日志
有时候我们需要打印okhttp的日志,但是现在的日志拦截器,不能做到接口级别的日志输出控制。要么就是全部打印。这样很影响调试效率。所以我在这块做了一些探索。
2024-08-08 17:13:15
448
原创 Glide支持通过url加载本地图标
glide可以在load的时候传入一个资源id来加载本地图标,但是在开发过程中。还得区分数据类型来分别处理。这样的使用成本比较大。希望通过自定义ModelLoader实现通过自定义的url来加载Drawab。降低使用成本。
2024-06-05 15:29:28
546
原创 生成随机图片
上面的代码可以生成随机图片。而且内容可以指定 **“https://source.unsplash.com/%dx%d/?beauty&random=%d”**比如?后面的beauty返回的就是美女图片。
2024-06-02 08:15:17
1919
原创 在VIVO 手机上安装apk,实现自动点击继续安装
最近换了个测试机,用了VIVO。但是每次安装的时候都必须点击一次继续安装。验证影响效率。为了解决这个问题做了一些研究。
2024-05-22 17:57:11
2048
原创 使用ImageView实现Drawable
有时候在使用drawable绘制图片的时候,要实现类似ImageView中各种 ScaleType的效果。但是每种ScaleType还得自己去实现具体的算法。有点麻烦,后来我想能不能直接复用ImageView的算法。于是有了以下这个类。这个类,亲测可用。记录一下,以备后面使用。
2024-05-20 13:56:54
280
原创 一行代码实现vip标志的显示
在项目中,后期添加了一种用户类型。需要再用户头像右下角显示一个vip的标志。问题是只要有头像的地方都要显示。而有头像的地方很多,设置到的接口也很多。后面考虑通过一个工具类,将这个功能外挂到原来的业务需要的地方。
2024-05-16 10:01:12
576
原创 使用自定义注解处理器,自动收集类信息
在开发过程有些时候我们会需要收集一些类信息。比如要知道某个子类下的所有实现类。可以通过反射的方式实现。但是这种方法有性能问题,因为在运行时,所有类都会包含在dex文件中。这个文件中的类可能有几十万个。而且在实际开发中会发现,新写出来的类,可能没有打包进apk,通过反射无法及时的发现。于是想通过自定义注解处理器来实现。
2024-04-26 16:49:28
458
1
使用Glide4.0 实现点赞动画的demo
2018-06-14
OrderLayoutDemo.rar
2020-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人