![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能效率
LVXIANGAN
这个作者很懒,什么都没留下…
展开
-
Android之Semaphore使用
Semaphore(信号量),是一种共享锁,多个线程同时访问一个资源时,通过它实现同一时刻的访问线程数量。最常见的使用场景就是高并发下的限流。举个例子:有10000辆车同时要涌入高速公路,但高速入口没有ETC只有2条人工发卡车道,所有人都必须要被收费亭许可(收费亭确认放行)后才能进入高速。高速公路是大家要共同使用的资源,收费亭就是Semaphore,2个发卡通道是Semaphore的同时允许车辆通过的许可证数量...原创 2021-11-13 13:05:58 · 2867 阅读 · 0 评论 -
Android性能分析工具Profile学习
1、dump the java heap 是什么意思?dump:在计算机领域,dump一般译作“转储”。即使翻译的很贴切,但还是很难从字面上完全理解dump的真正含义。作为动词:一般指将数据导出、转存成文件或静态形式。比如可以理解成:把内存某一时刻的内容,dump(转存,导出,保存)成文件。...原创 2021-06-14 22:20:34 · 2371 阅读 · 4 评论 -
Android之你真的了解adb install 和 adb push区别吗?
adb push 和 adb install 的区别:adb push 能够指定安装目录。比如执行"adb push xxx.apk system/app" 后,xxx.apk被安装到了system/app目录下,此目录下的软件为上文中提到的system application。 adb install 用此命令安装的软件位于data/app 目录,则为user ...原创 2021-01-10 18:19:22 · 2477 阅读 · 0 评论 -
Android之代码实现adb shell命令
查看Activity的任务栈:我们通常这样使用:adb shell dumpsys activity activities (常见adb命令),这里有个问题:adb 命令虽然强大,但在Android代码如何实现adb命令调用呢?答案是:Runtime.getRuntime.exec("dumpsys activity activities")示例1、input tap x y 模拟点击 屏幕,生成 down-up事件 ,例如 input tap 300 400; 这个是 像素值...原创 2020-12-10 23:42:05 · 2345 阅读 · 0 评论 -
在notepad++等记事本使用正则表达式
正则表达式看起来让人一头雾水,但只要掌握了表达式含义,使用起来非常简单。常见语法如下:原创 2020-10-15 21:47:26 · 920 阅读 · 0 评论 -
Android之如何进行日志分析
一直以来,我们对日志分析,往往基于Andorid Studio的Logcat日志输出,虽然使用Logcat 工具栏是我们最重要的分析手段之一,但它有很大的局限性,那就是必须真机连接电脑,而且Logcat输出是有大小限制的。对于一些离线设备,如果要通过连接Logcat去作日志分析,这往往会非常不现实。以Android系统的车载主机为例,面对市场用户对软件问题投诉,我们需要对离线日志进行分析,通常做法是主机把日志输出写入存储设备,通过暗门开关取出日志分析。然而拿到的日志往往是这样的:随.原创 2020-10-24 10:28:48 · 2030 阅读 · 2 评论 -
Android之使用adb命令检查网络连接
收到测试反馈:“你负责的Android应用无法访问网络,但其他app功能能够正常访问网络,请检查代码有没有问题”背景:在自定义Android主机系统中,内置TBOX(实际是内置了一个sim卡移动网络)① ping目标主机的域名和IP(ping会自动将域名转换为IP) ② 不带包头的包大小和带包头的包大小(参考“-s”参数) ③ icmp_seq:ping序列,从1开始; ttl:剩余的ttl; time: 响应时间,数值越小,联通速度越快; ④ 发出去的包数,返回的包数,.原创 2020-09-08 22:47:22 · 10805 阅读 · 0 评论 -
版本管理之SVN解决文件更新慢问题
最近项目开发中,在更新UI设计图时,发现直接update一次奇慢,至少要几个小时,明明只有十几张图片,为什么那么慢呢?十几张图下载高达几个G,有点奇怪!经过排查分析,原来是PSD文件过大造成的,UI设计人员直接把PSD文件上传到SVN服务器了,导致了每次下载更新非常慢。PSD文件对于我而言用不到(各位看官不一定是这个原因哈,这里只作示例说明),所以考虑把它过滤掉,更新时不下载。步骤如下,不废话,直接上图说明吧。点击“OK”确认,完毕!...原创 2020-09-04 10:09:32 · 2556 阅读 · 0 评论 -
Android之巧用adb命令
我们在使用adb命令对设备进行截屏、录像等操作时,可以配合使用批处理命令。1、一键截屏adb shell /system/bin/screencap -p /sdcard/screen.pngadb pull /sdcard/screen.png C:/Users/lvxiangan/Desktop/"%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%-%time:~3,2%-%time:~6,2%.png"把上述代码保存到文本,重命名:一键截图原创 2020-08-28 14:14:55 · 231 阅读 · 0 评论 -
AndroidStudio之Git提交代码出现author ‘xxx‘ is not ‘Name ‘ and matches no existing author 的解决方法
Android Studio通过VCS提交代码时,收到Commit failed with error,author 'xxx' is not 'Name ' and matches no existing author 如下图:错误原因:Author字段用户名填写错误导致。常见错误如下:随便填写了一个名字,但没有邮箱地址解决方式:调整Author填写内容格式:用户名<lvxiangan@163.com>用户名可自定义,邮箱地址为Git账号邮箱,必须用尖括号包围...原创 2020-08-28 11:45:27 · 5884 阅读 · 1 评论 -
Mac电脑之批量删除.svn文件
在Mac系统下,要删除SVN项目工程的.svn文件夹,可以利用以下方法:1、打开Terminal,进入项目工程目录 cd /Users/lvxiangan/Cornerstone/android2、执行删除命令find . -type d -name ".svn"|xargs rm -rf 3、ok!原创 2018-02-26 16:55:15 · 466 阅读 · 0 评论 -
动态语言和静态语言的区别
本文转自:https://www.cnblogs.com/zy1987/p/3784753.html?utm_source=tuicool编译型语言和解释型语言1、编译型语言需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连...转载 2017-10-30 11:20:20 · 32498 阅读 · 9 评论