- 博客(131)
- 资源 (3)
- 收藏
- 关注
原创 AndroidStudio无法识别连接夜神模拟器
逍遥安卓模拟器: adb connect 127.0.0.1:21503。网易MUMU模拟器:adb connect 127.0.0.1:7555。海马玩模拟器 :adb connect 127.0.0.1:53001。夜神模拟器:adb connect 127.0.0.1:62001。雷电模拟器:adb connect 127.0.0.1:5555。天天模拟器:adb connect 127.0.0.1:6555。1:复制配置文件进入夜神模拟器。
2025-03-26 21:18:31
316
原创 APP的启动优化
一般而言就是处理MyApplication 里面的方法,比如三方的sdk加载,IO 数据库等相关的耗时操作。然后就是首页展示需要花费的时间;主要是通过抓取cpu profile 查看call chart ,柱状图,frame火焰图,topdowm 图记录耗时点。通过搜索display 显示时间,start u0。
2025-03-26 14:44:49
98
原创 LeakCanary的分析流程
XXXXX\Downloads\2025-03-24_15-15-15_198.hprof mm.hprof 然后打开mm.hprof就可以了。当打开之后,我们主要是看柱状态图和包名过滤,然后取出强引用分析图查看异常点。在我们实际的工作中,我们常常会遇到内存泄漏,那么怎么去分析这类问题呢?然后会有一个leakmemory的初步分析,可以把文件share出来,
2025-03-25 15:24:54
157
原创 内存分析工具MAT操作流程
链接: https://pan.baidu.com/s/1Bc-52qU08H6TgoTZ6y8uAw?pwd=7khg 提取码: 7khg。链接: https://pan.baidu.com/s/1J2P-wyoui2tpyY_-STOJig?通过网盘分享的文件:MemoryAnalyzer-1.16.1.20250109-win32.win32.x86_64.zip。通过网盘分享的文件:jdk-21_windows-x64_bin.exe。下载完了运行发现需要jdk 17 以上的环境。
2025-03-19 17:56:58
143
原创 monitor 是不是经常看不到了?
⑧找到NAME为Android SDK Tools(Obsolete),有的可能没有后面括号中的内容,然后选中它,右下角apply,提示下载,下载完确定结束就行了。hello 我们经常搭载环境的时候发现sdk里面monitor,找不到了怎么办呢?Hide Obsolete Packages前的勾勾去掉(以防万一)
2025-03-18 13:50:54
130
原创 bindingAdapter的异常错误
BindingAdapter是一个注解,用于将自定义的方法与XML中的属性进行绑定。在自定义的BindingAdapter方法中,可以通过观察MutableLiveData对象的变化,并将新的值设置到视图上。Android XML绑定是一种在布局文件中直接绑定数据和视图的方法,可以通过在XML文件中使用特定的语法来绑定数据到视图上。然而,由于MutableLiveData是一个动态的数据对象,它的值可以随时改变,因此在XML中直接绑定MutableLiveData对象是不起作用的。
2025-03-10 21:43:17
198
原创 MVVM 的text 错误
Cannot find a setter for <Button android:text> that accepts parameter type 'androidx.databinding.ObservableArrayMap<java.lang.String,java.lang.String>'
2025-03-10 18:53:44
72
原创 App 应用开发的性能优化
按照Google官方给出的性能优化典范中的标准,View的绘制频率保证60fps是最佳的,这就要求每帧绘制时间不超过16ms(16ms = 1000/60),虽然程序很难保证16ms这个时间,但是尽量降低onDraw方法中的复杂度总是切实有效的。不能执行成千上万次的循环操作,尽管每次循环都很轻量级,但是大量的循环仍然十分抢占CPU的时间片,这会造成View的绘制过程不流畅。在整个设计的代码优化上:通过测试发现使用rl,应用启动的时间会更短一些,这个是有差异的。布局优化的本质就是减少View的层级。
2024-12-02 15:02:12
352
原创 trycatechfinally
:无论是否有异常被抛出或捕获,程序都会执行finally块中的代码。finally块通常用于释放资源或执行一些必要的清理工作。在catch块执行完毕后,无论是否有异常被捕获,程序都会继续执行finally块中的代码。:在finally块执行完毕后,程序会继续执行try catch finally之后的代码。:首先,程序会执行try块中的代码。try块中可能包含一个或多个可能会抛出异常的语句。
2024-11-18 14:41:27
305
原创 Android 查看手机的当时电量
行 6568: 09-06 10:48:54.783 1000 1219 3710 I battery_level: [89,4345,420]行 6571: 09-06 10:49:33.014 1000 1219 3710 I battery_level: [90,4346,420]行 6583: 09-06 10:51:57.139 1000 1219 3710 I battery_level: [94,4379,420]
2023-09-21 16:36:17
343
原创 Android.mk中C++使用
参考:ifeq ($(BOARD_USES_RECOVERY_AS_BOOT), true)endifendif#else#endif。
2023-09-14 16:51:15
257
原创 你爱的升级打patch
git format-patch -1 dXXXXXXX 生成patch git format-patch -100 批量打patch。git apply --check name.patch 如果不报错就是可以直接合入。
2023-09-12 10:23:40
66
原创 在很多公司里面会使用打tag的方式保留版本
git tag|grep "xxx-dev“等分支来查看然后就是查看有冲突这些git status 会出现相关的异常然后解决相关的冲突git add .第一:git tag -a tag_release_v0.2 -m "version 0.2 released" 这里创建的是:本地 tag 实际远程还没有跟上。git tag注意:正在切换到 'tag_release_v0.2'。您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以在切换。
2023-09-07 17:33:57
511
原创 User版本如何实现root功能
user版本无法实现adb pull data/system/dropbox的log。这个是我自己做的一个root的patch。
2023-09-05 16:14:32
177
原创 很像Anr的anr
当然,最简单的解决方案是使用内存更多的设备,或者使用更少更小的图像,但我更喜欢更健壮的解决方案。开始时,我收到以“后台并发复制GC释放”开头的日志消息(请参见步骤3),在收到一组日志消息后,我收到两条消息(请参见步骤4),其中第一条消息以“后台并发复制GC释放”开头,第二条消息以“后台年轻并发复制GC释放”开头.这是不是意味着什么不同,或者我应该忽略这个变化。此外,图像的大小越大,该问题越容易再现。我使用档案器运行我的应用程序,同时再现问题,在上述所有步骤中,从开始到结束,内存消耗保持在同一水平。
2023-09-04 15:50:58
126
原创 第134篇 你们当向圣所举手
历经千辛万苦,风尘仆仆的朝圣者终于抵达圣城,进入圣殿,看到“夜间站在耶和华殿中”专心服侍的利未人,他们情不自禁地歌唱:“你们当向圣所举手,称颂耶和华。圣殿难道是社交场所,大家寒暄问候,恭贺彼此的成就,然后交换一下八卦故事,甚至寻找生意机会,好让我们回家后前途更有指望?你来到这里,因为神赐福给你,现在轮到你来颂扬神。耶和华啊,我要在万民中称谢你,在列邦中歌颂你。神啊,愿你崇高过于诸天;每当进入神的圣殿,我们都要“称颂耶和华”,向祂献上最真诚的赞美!“耶和华的仆人,夜间站在耶和华殿中的,你们当称颂耶和华。
2023-08-30 11:36:17
1626
原创 第129篇
神啊,求你举手,不要忘记困苦人。其实你已经观看,因为奸恶毒害,你都看见了,为要以手施行报应。无倚无靠的人把自己交托你,你向来是帮助孤儿的。至于坏人,愿你追究他的恶,直到净尽。包忠杰(Paul. H. Bartel)这样说:“在神公义的计划中,祂用完了那恶人的绳索之后,就将它砍断丢开,这些事或临到主身上,或临到信徒选民身上,都是一样。“敌人屡次苦害我,却没有胜了我”,诗人如此追忆,是要向会众见证神的大能,所以他在追忆往事之后写道:“耶和华是公义的,祂砍断了恶人的绳索。至于坏人,愿你追究他的恶,直到净尽。
2023-08-25 15:38:15
1892
原创 诗篇128章
你要吃劳碌得来的,你要享福,事情顺利。你妻子在你的内室,好像多结果子的葡萄树;你们清晨早起,夜晚安歇,吃劳碌得来的饭,本是枉然;问题是如果没有神的赏赐,无论怎么“劳碌”,都可能没有一点收成。在敬畏神的生活中,神对人类的审判(参创 3:17-19)缓和了,因为那样的劳碌是真正蒙神赐福的。“敬畏耶和华、遵行祂道的人”在家庭中所要得的赏赐,“你要吃劳碌得来的,你要享福,事情顺利”,是其中之一。“你能吃你双手赚来的食物,你便实在幸运,也万事有福!
2023-08-24 10:53:20
7241
原创 dontaudit:表示不记录违反规则的决策信息,且违反规则不影响运行(允许操作且不记录)
dontaudit:表示不记录违反规则的决策信息,且违反规则不影响运行(允许操作且不记录)
2023-08-22 14:17:05
391
原创 git stash
用于很多分支的情况,比如我在A分支修改了代码,发现要提交的是B分支,就可以使用这种方式处理。一般使用这个就是把当前的修改保存起来,然后去切分支或者更新代码啥的保存在git 本地缓存里面。git stash list列出保存的缓存。git stash pop 恢复缓存内容。
2023-08-18 17:01:23
83
原创 使用git rebase 之后的如何恢复到原始状态
使用命令git rebase 5555555567777,想把这笔修改提交到dev分支上,有时候呢?没有更新代码就这么操作出现了bug,这种操作模式和git cherry-pick 方式差不多。找到rebase 那一笔,如果有切分支,那么就切回到原来的分支上面去。那么我们常常比较懒就直接切换了:git checkout dev。你这么操作了发现:git status 还有这个变基操作。,再执行 git status 就没有 变基了。总是出现变基操作,那么怎么处理这类问题呢?常常出现的Bug是什么呢?
2023-08-18 16:30:36
1204
原创 在有一些公司只有一个原始的master分支
在一些公司常常最原始状态的时候就只有一个分支,他们没有做过多的分支,而在开发的时候却要开发人员提交代码到dev分支上面去,这个对于没有做过分支创建的人员是一件比较困难的事情。有两种方式一种是直接在gerrit 上面,界面创建分支。这样远程就创建了dev 分支了,然后就可以进行分支开发了。这个是创建本地分支,并没有与远程的相关联。另外一种就是使用命令创建分支。
2023-08-18 15:32:10
90
原创 很多公司在开发高通项目的时候都没有抓取log的相关工具
下面介绍一个兄弟分享的log工具:是基于C语言开发的高通平台下的log工具:名字是:QtiLogger-master,这个可以在github上面去搜索的到。做平台开发,开发人员常常需要现场的log,比如MTK它有自己自带的mtklog,但是高通平台常常没有平台自身的抓取log的工具,那么就需要各个公司自己去开发对应的高通平台的抓取log工具。在这个基础上进行二次开发,有一些坑需要去处理,比如有很多的.h头文件需要处理,为了尽量避免与开发的平台有更多的耦合,需要自己单独把它封装出来。
2023-08-17 11:36:55
327
原创 Android系统中如何擦除镜像替换
fastboot erase splashfastboot flash splash ./splash.img
2023-08-15 11:13:52
113
原创 gerrit 从安装到出坑
一般公司在做代码审核的时候选择codereview gerrit来处理代码的入库的问题。它是通过提交的时候产生Change-Id: If4e0107f3bd7c5df9e2dc72ee4beb187b07151b9来决定是不是入库,一般如果不是通过这个管理,那么就是我们通常的操作git add .这种没有代码检视直接入库的行为。这种的好处的是方便快捷,不好的是,入库很随意,代码质量无法保证。对于很多的团队也是想搭建自己的gerrit,那么我下面就介绍一下搭建的过程。1.安装apache。
2023-07-25 11:37:51
939
浮动标题栏
2016-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人