
android
文章平均质量分 54
Android SDK开发,应用开发
学知识拯救世界
这个作者很懒,什么都没留下…
展开
-
appium启动 install driver安装驱动
【代码】appium启动 install driver安装驱动。原创 2024-11-06 16:59:01 · 712 阅读 · 0 评论 -
AndroidAppWidget相关
当桌面已经存在AppWidget实例,如果应用处于杀死状态下,此时再创建相同的AppWidget实例不会触发AppWidget的更新。创建不同的AppWidget对应的实例时才会一下子触发多个AppWidget示例的更新。原创 2024-10-25 16:14:34 · 150 阅读 · 0 评论 -
渠道打包报错 快手
gradle.properties中将android.enableJetifier=true,重新整理资源。使用快手基础版 + 下面所示资源配置。原创 2024-09-12 16:36:17 · 434 阅读 · 0 评论 -
Android RecyclerView
【代码】Android RecyclerView。原创 2024-05-08 15:43:46 · 832 阅读 · 0 评论 -
Junit单元测试框架
可以用来对方法进行测试,它是第三方公司开源出来的(很多开发工具已经集成了Junit框架,比如IDEA)原创 2024-05-07 17:15:07 · 269 阅读 · 0 评论 -
WebView
主要是用来处理webView界面加载url的生命周期。每个生命周期需要完成的事情,具体可以见下面的文章。原创 2024-04-30 14:50:12 · 270 阅读 · 0 评论 -
打包问题记录
象棋oppo渠道 + 广告。原创 2024-04-18 09:48:28 · 306 阅读 · 0 评论 -
Android Activity跳转自定义动画
https://juejin.cn/post/6844903952090136589原创 2024-04-11 11:57:26 · 516 阅读 · 1 评论 -
Android ImageView以及实现截图 .9.png
【代码】Android ImageView以及实现截图。原创 2024-03-28 20:48:10 · 553 阅读 · 1 评论 -
TextView 带阴影的TextView 跑马灯
1、android:shadowColor:设置阴影颜色需要与shadowRadius一起使用2、android:shadowRadius:设置阴影的模糊程度设为0.1就变成字体颜色了,建议使用3.03、android:shadowDx:设置阴影在水平方向的偏移就是水平方向阴影开始的横坐标位置4、android:shadowDy:设置阴影在竖直方向的偏移,就是坚直方向阴影开始的纵坐标位置。原创 2023-10-26 20:50:22 · 212 阅读 · 1 评论 -
华为广告打包报错,问题思考
fata日志不一样能反映出完整的错误日志信息,仅看fata日志具有误导性,有可能指向错误的方向。通过看完整的日志可见,错误的原因为。原创 2024-03-25 20:27:12 · 591 阅读 · 0 评论 -
打包系统待优化点
删除对应资源displayOptions、autoSizeTextType。原创 2024-03-07 11:58:33 · 415 阅读 · 0 评论 -
打包 广告 小米 华为 VIVO 抖音直播 Honor
如果申请权限可以提高广告的收益,则SDK尽量申请权限。原创 2023-11-07 20:08:21 · 582 阅读 · 0 评论 -
EventLoop 宏任务 微任务
在 EventLoop中,每一次循环称为一次 tick。原创 2024-03-06 11:28:57 · 464 阅读 · 0 评论 -
打包 官方渠道 QQ微信分享、QQ登录
qq、微信分享资源整理时,需要去除其中的fileProvider声明,provider声明改为由游戏自己配置在母包中。原创 2024-02-28 16:48:12 · 442 阅读 · 0 评论 -
Android platform tool中d8.bat不生效
运行d8.bat,此段代码,可以看到此段提示。原创 2024-02-22 20:52:37 · 660 阅读 · 0 评论 -
windows迁移服务时遇到权限不足问题
2、webStorm命令行中运行pm2指令。1、修改单个jar包的权限。1、webStorm使用管理员权限运行。原创 2024-02-01 11:54:57 · 571 阅读 · 0 评论 -
OOM 内存溢出与线上内存实时监控
dalvik.vm.heapsize,单个进程可用的最大内存。开启largeHeap="true"的最大限制。dalvik.vm.heapstartsize,它表示堆分配的初始大小。APP启动的初始分配内存。dalvik.vm.heapgrowthlimit,它表示单个进程内存限定值。指令:获取所有dalvik属性数据。指令:获取某项dalvik属性。原创 2024-01-25 16:02:44 · 657 阅读 · 0 评论 -
LeakCanary原理 弱引用与垃圾回收 强引用 软引用 弱引用 虚引用
LeakCanary 通过 hook Android 的生命周期来自动检测 Activity 和 Fragment 何时被销毁,何时应该被垃圾回收,这些被 destroy 的对象被传递给 ObjectWatcher,ObjectWatcher 持有对它们的弱引用。原创 2024-01-24 19:59:11 · 538 阅读 · 0 评论 -
Android 内存优化 内存泄漏
内存抖动是由于短时间内有大量对象进出新生区导致的,内存忽高忽低,有短时间内快速上升和下落的趋势,分析图呈锯齿状。它伴随着频繁的GC,GC 会大量占用 UI 线程和CPU 资源,会导致APP 整体卡顿,甚至有 OOM 的可能。原创 2024-01-23 20:32:14 · 431 阅读 · 0 评论 -
Caused by: java.lang.IllegalStateException: compileSdkVersion is not specified.
创建koltin工程时,提示下述错误。原创 2023-12-25 17:45:05 · 1033 阅读 · 0 评论 -
android开发规范
注意:更改代码使其更简洁、高效或易于阅读和理解称为“重构”。这就像写一篇文章,先写一份包含所有信息的初稿,然后再对文字进行修改和提炼。原创 2023-11-28 20:14:28 · 422 阅读 · 0 评论 -
Appium开发 常见问题
删除appium生产的UI app,然后生产appium对应的UI app,并设置后台启动,不限制启动。1.x版本的Appium Inspector需要设置下面地址。尝试关闭appnium和两个ui的自启动权限。可能是路径中包括.导致安装失败。将其拷贝到桌面,使用adb安装。这个用起来更加方便。原创 2023-09-28 17:15:22 · 685 阅读 · 0 评论 -
Kotlin
在学习字符串模板时,我们了解到,可以在单个变量名称前加上 $ 符号。但是,如果您使用更复杂的表达式,就必须用大括号将该表达式括起来,并在大括号前添加 $ 符号:${unreadCount + readCount}。在本例中,模板表达式 $count 的求值结果为 2,并且 2 会替换到表达式所处的字符串中。您可以根据需要选择其他数字。利用类型推断,当 Kotlin 编译器可以推断(或确定)变量应属的数据类型时,您不必在代码中写入确切类型。这意味着,如果您为变量提供了初始值,就可以在变量声明中省略数据类型。原创 2023-09-07 20:27:58 · 476 阅读 · 0 评论 -
国内build.gradle配置 配置国内资源镜像
【代码】国内build.gradle配置 配置国内资源镜像。原创 2023-09-05 15:49:59 · 3859 阅读 · 0 评论 -
SystemServer启动 fork
Android启动流程——1序言、bootloader引导与Linux启动Android系统启动——6 SystemServer启动原创 2023-08-30 14:07:48 · 145 阅读 · 0 评论 -
Android架构 架构和 CPU ABI - NDK
【代码】Android架构。原创 2023-08-29 11:46:43 · 268 阅读 · 0 评论 -
Android屏幕显示 android:screenOrientation configChanges 处理配置变更 代码中动态切换横竖屏
具体区别如下:activity.getResources().getConfiguration().orientation获取的是当前设备的实际屏幕方向值,可以动态地根据设备的旋转或用户的操作进行改变。例如,当用户将设备从纵向旋转到横向时,获取到的屏幕方向值也会相应地改变。Manifest中配置的orientation是用于指定活动的默认方向,即在没有其他因素影响时,活动应该显示的方向。它可以有以下几个值:portrait:纵向(竖屏)方向。landscape:横向(横屏)方向。原创 2023-08-27 12:29:09 · 6999 阅读 · 0 评论 -
存储相关 存储权限申请
默认情况下,对于以 Android 10 及更高版本为目标平台的应用,其访问权限范围限定为外部存储,即分区存储。此类应用可以查看外部存储设备内以下类型的文件,无需请求任何与存储相关的用户权限:特定于应用的目录中的文件(使用 getExternalFilesDir() 访问)。应用创建的照片、视频和音频片段(通过媒体库访问)。要详细了解分区存储以及如何共享、访问和修改在外部存储设备上保存的文件,请参阅有关如何管理外部存储设备中的文件以及如何访问和修改媒体文件的指南。原创 2023-08-24 11:02:29 · 789 阅读 · 0 评论 -
java使用正则表达式时遇到的问题
在正则表达式中,斜杠(/)用来表示正则表达式的开始和结束。在JavaScript中,正则表达式可以使用斜杠包裹起来,以表示这是一个正则表达式的字面量。在Node.js中,可以使用正则表达式的test()方法来检查一个字符串是否匹配某个模式。在上面的示例中,^1\d{2}$是一个正则表达式,它的含义是:^:匹配字符串的开头1:匹配字符1\d{2}:匹配两个数字(\d表示任意数字,{2}表示匹配两次)$:匹配字符串的结尾因此,该正则表达式可以匹配以1开头,后面跟着两个数字的字符串。原创 2023-08-11 17:50:01 · 1220 阅读 · 0 评论 -
JAVA Android 正则表达式
正则表达式是对字符串执行模式匹配的技术。原创 2023-08-08 15:59:45 · 1191 阅读 · 0 评论 -
hook点的选择
单例 > static > public final > public > private。hook点的选择:优先内存中份数最少的。原创 2023-08-04 20:39:14 · 100 阅读 · 0 评论 -
android文件路径 getApplicationInfo().dataDir 外部存储路径
文件路径为data ---- data ---- 包名。原创 2023-08-01 10:52:01 · 599 阅读 · 0 评论 -
java 可变长度形参 jsonObject是否有序 jsonObject key value遍历
Java中的Object…形参表示可变参数,也称为varargs。它允许方法接受任意数量的参数,并将它们作为一个数组传递给方法。使用可变参数可以方便地处理不确定数量的参数,而不需要事先定义参数的个数。在方法定义中,使用Object…来声明可变参数。在方法调用时,可以传递任意数量的参数,甚至可以不传递参数。在上面的示例中,printValues方法接受任意数量的Object类型参数。在方法体中,使用for-each循环遍历参数数组并打印每个值。原创 2023-07-11 15:20:00 · 410 阅读 · 0 评论 -
Android .9.png格式图片
9.png分为内容部分和伸缩部分两部分。原创 2023-07-03 13:38:11 · 211 阅读 · 0 评论 -
java包资源下载网站
资源就自动下载了。原创 2023-06-16 20:52:49 · 190 阅读 · 0 评论 -
Android classLoader 双亲委托 反射 类加载 Class.forName classLoader.loadClass
双亲委托机制,就是导入类的时候判断parent是否已经导入过该类。原创 2023-06-15 15:19:30 · 1029 阅读 · 0 评论 -
java 左右移位
运算符右移运算符>>左移运算符原创 2023-06-14 09:54:51 · 800 阅读 · 0 评论 -
Android init.rc的作用 Android系统初始化流程 Zygote进程 查看当前应用内所有进程的方法
1、开启和硬件关联的各种进程2、软件的功能 zygote因为app进程是fork的Zygote进程。是Zygote进程的子进程。当一个Android应用程序启动时,系统会创建一个名为"zygote"的特殊进程。Zygote进程是Android系统的一个关键组件,它是应用程序的孵化器。它负责预加载和初始化常用的系统类、资源和库,以加速应用程序的启动过程。Zygote进程通过执行一段特殊的代码,创建一个虚拟机实例,并加载一些核心类和库。当一个新应用程序启动时,Zygote进程会派生出一个新的进程,并将自身的状原创 2023-06-07 19:41:27 · 578 阅读 · 0 评论 -
Unsupported Modules Detected: Compilation is not supported for following modules: TankDemo. Unfortun
Unsupported Modules Detected: Compilation is not supported for following modules: TankDemo. Unfortunately you can’t have non-Gradle Java modules and Android-Gradle modules in one project.原创 2023-05-23 15:38:02 · 284 阅读 · 0 评论