- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 说说 setOnClickListener 的几种方式 与 向上向下转型
因为不是计算机专业,当时入门安卓的时候,看的 Mars 的视频学起来的,挺多知识很迷糊。后面也是开始做了些项目才慢慢熟悉起来。最近花了一些时间,把做的第一个 app 重构了下,以前的代码不能直视。当然菜不要紧,要是菜还不勤快,那肯定就没法了。说到初见安卓,肯定会用到一些交互控件,最常用的方式之一就是 Button 触发 OnClickListener。当时因为 Java 懂的不太多,然后...
2019-01-06 13:46:34 26585 12
原创 记录一次使用 Android Profiler分析CPU耗时操作
版权声明:本文章原创于 RamboPan ,未经允许,请勿转载。记录一次使用 Android Profiler 分析内存最近一个老项目需要更新,就想着把之前搜集的一些小问题一起修复了,然后测试了下,发现了一个情况,就是在查看历史数据模块的时候,进入比进入其他模块时间稍微长一点,想着优化下。...
2020-03-21 11:40:30 1152
原创 对于 Java 参数传入 null 判断思考
版权声明:本文章原创于 RamboPan ,未经允许,请勿转载。对于 Java 参数传入 null 判断思考最近重温了《Effective Java》之后,在日常工作中写代码时感觉也会慢一点,多一点思考这样是不是比较合理。在一个常见的情况下迟疑了下:在定义方法时,经常需要传入非基本类型的参数。 //定义一个简单的类 class Hello{ public void say(){...
2020-01-18 19:08:37 4389 1
原创 Java 与 C 方法中实参形参与指针联系的分享
版权声明:本文章原创于 RamboPan ,未经允许,请勿转载。Java 与 C 方法中实参形参与指针联系的分享Java 形参为基本类型Java 形参为类对象C/C++ 形参为基本类型C/C++ 形参为结构体C/C++ 形参为基本类型指针C/C++ 形参为结构体指针讨论结果图示因为不是计算机专业,在大学时也只是简单地学习了下 C ,然而在工作中 (Android) 因为项目原因反而接触了...
2019-12-15 13:07:16 315
原创 自定义View时,使用 Matlab 模拟运动曲线
版权声明:本文章原创于 RamboPan ,未经允许,请勿转载。自定义View时,使用 Matlab 模拟运动曲线事件起因数据推测数据拟合求曲线数据插值求曲线事件起因最近自己在做一个 自定View,有一个功能,就是用手指拖动图片时是实时移动图片,如果抬起时移动有一定速度,那么那个图片还会再滑行一段时间,这个功能也很常见,网上也有很多参考,我想试试按自己的想法去试试,虽然没做过,但第一...
2019-12-08 20:45:54 1509
原创 Unity 打包 VRAndroid 应用时一直停留在加载中
最近在使用 Unity 打包的 VR Android 应用时碰到了一点问题:这个应用可以以平面模式(2d),或者全景模式来播放视频。之前我们测试的时候基本播放的都是本地视频,都是能正常播放。最近测试了下播放网络视频(局域网内),发现会出现一个情况:同一个视频有时能正常放,有时会一直停留在加载动画界面(如下图),按理说同一个局域网访问是很快的,不太像是因为网络的问题。之前我们测试网络的时候没...
2019-10-23 23:03:35 879
原创 Mac 下使用 Shell 批量安装 app
版权声明:本文章原创于 RamboPan ,未经允许,请勿转载。最近碰到一个情况,就是需要在一个 Android 设备上安装很多应用,大家开发 Android 的都知道使用 adb install 来执行 Apk 的安装。如果只安装一两个的话也没有问题,但是数量一多;或者你要连续在几个设备安装,肯定还是麻烦 … 毕竟这种机械性的行为能自动化绝对不手动,懒才是科技进步的动力哈。自上次使用了...
2019-10-11 21:03:29 995
原创 SurfaceView 绘制与背景适配记录
最近做了一个项目,是关于 Unity 使用人脸识别添加一个面具,再将画面数据传递数据给 Android ,然后由 Android 进行绘制。重点就两个部分:如果高速的传输画面数据如何在安卓这边高速显示。关于第一个问题,主要是涉及到 Unity 与 Android 之间交互,发送消息,中间也尝试过一些方案,这个留在后续简单说下。主要来说下 Android 这边关于显示过程中碰到一些问题,...
2019-09-15 17:41:56 775
原创 对Java枚举与静态变量扩展,以及异步回调处理思考
版权声明:本文章原创于 RamboPan ,未经允许,请勿转载。 变量扩展静态变量枚举封装枚举与接口对比回调收尾源码基于 Retrofit 2.6.0变量扩展因为最近负责开发几个应用需要加上一个功能:通过访问服务器端,对比服务器端上软件的版本号与当前应用的版本号,如果版本号大于当前应用就进行升级。既然是要几个应用都需要这个功能,那我们想的是肯定首先做成一个通用型的,每个应用都...
2019-08-03 12:19:31 738
原创 从 EventBus 三个方法入手看源码(二)
接着上一篇文章说。从 EventBus 3个方法入手看源码(二) 上一篇我们从三个方法入手分析了 EventBus,现在大概浏览下 EventBus 的结构,发现代码也并不多,那我们就接着继续看看其他方法。其实上一节还有一个疑问,就是 @Subscribe 中的 sticky 属性是什么意思?当时我们是直接跳过了。现在从这个类的结构里面,能看到 post() 方法还有个类似的 p...
2019-07-22 21:42:31 238
原创 从 EventBus 三个方法入手看源码(一)
源码基于 3.0.0@Subscribe根据官方 github 的介绍,我们使用它需要三步(感觉可以把注册拆出来,变成四步)。创建一个事件类,作为消息,类似 Handler 中使用的 Message 类。(如果需要携带内容,增加成员变量)增加一个处理该消息的方法,传入参数类型为上一步定义的事件类。并且增加 @Subscribe 注解。在发送消息之前注册,在不使用接收之后反注册。(这里使...
2019-07-22 21:40:39 241
原创 使用 Shell 编写 Android 自动化测试脚本
最近碰到一个需求:就是需要反复测试一个简单的应用,是否能稳定的长期运行。这个应用是类似一个答题过程,选择一个难度,然后选择正确的答案,然后接下来回答下一轮,答题完成会弹出结果页面,最后再自动退回主界面。因为需要点击固定的位置,反复的进行点击。刚开始测试这个应用就类似自己玩一下,后面发现老改动,老自己点,这 …… 一点都不符合程序员的准则,能自动化的就不要自己动手。想到命令行中也能通过输入命令...
2019-05-19 23:41:36 3090
原创 记录一次使用 Android Profiler 分析内存 Memory 使用情况
最近手里开发了一个小应用,功能也不复杂,大致功能是:加载本地的视频及缩略图,让用户选择一个,点击按钮进行观看,再点击一次结束观看。记录中间的时间差,然后跳转一个新的界面,动态再把时间差以秒为单位加载出来。点击按钮或者倒数30秒后返回主菜单。看着也不难,贴一个做完了的效果。//insert iamge做小应用,我们也需要谨慎是吧,也来分析下代码中有没有导致内存泄露的情况。这次做个笔记算简单...
2019-05-07 21:57:03 670
原创 从 ThreadLocal 常见操作入手分析源码。
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-03-09 12:36:35 251
原创 Handler 与 IdleHandler 浅析
Handler 分析虽然 Handler 分析的比较多,可还是想记录下自己分析的思路。基于 :JKD 1.8 SDK 26我们设计一个程序时,往往会执行很多小块的代码,而很多小块的代码还经常被调用,那么根据程序设计的原理,最好抽出公共部分,增加代码的复用性。这也是 Handler 使用时既有 sendMessage() 也有 postRunnable() 的原因。sendMe...
2019-03-05 20:06:55 3317 3
原创 一步一步搭建 AIDL 跨进程的回调
关于有许多关于 AIDL 的文章,高质量的也很多,就不打算描述了,主要是想说说实际操作,如何在客户端与服务端搭建一个回调(观察者模式)。搭建同进程中的通信第一步先搭建一个服务端以及它的 Service ,新建一个 Project。先别着急写代码,思考下,假设我们新建一个 AIDL 实现两个简单的功能:算出两个数字的和并返回对某个字符串取大写并返回。那是不是应该在 app(默认...
2018-12-22 23:37:40 630 1
原创 简谈 HashMap 扩容过程
无意看到了 HashMap 的扩容机制,想了挺久,才逐渐明白,感觉很精髓。简单分享下自己理解的扩容过程。源码版本为 Android 28 ,JDK 1.8。先简单说说 HashMap 结构,大家都知道内部存储结构是由一个数组进行散列存储。如果把 n 个对象放入 n + 1 个格子里,就算 n 个平均散列了,第 n + 1 个肯定会放入 n 个格子中一个。HashMap 解决哈希冲突的时...
2018-12-02 13:22:18 5042 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人