博文

目前显示的是 四月, 2018的博文

MuMu安卓模拟器使用AutoHotkey模拟鼠标点击

图片
AutoHotkey 是一款优秀的开源自动化软件,它可以完成的事情非常之多,这里简单介绍一下它如何在 MuMu 安卓模拟器中模拟简单的点击行为。 下面是 AutoHotkey 的相关信息: AutoHotkey 官方网站 AutoHotkey 中文使用手册(英文版翻译过来) 当然,安装完 AutoHotkey 之后,首次运行会自动打开英文版的帮助文档,英文能力强的可以直接阅读这个手册。 手册中提供了大量的参考信息,如果具有编程能力的话,可以利用这个自动化工具完成很多人工需要繁琐操作的事情。 下面介绍最简单的模拟鼠标点击的行为。 1、下载并安装好 AutoHotkey 工具; 2、启动软件后会自动打开帮助手册(因为目前没有任何可以运行的脚本),在 Windows 任务栏右下角找到 AutoHotkey 的图标,右键点击并选择【创建脚本】(或者在桌面右键点击,依次选择【新建】——【AutoHotkey Script】); 3、在脚本文件中写入如下的脚本语句: While 1 { Click                  ;在当前鼠标位置按下鼠标左键 Sleep 60000            ;停顿1分钟(60000毫秒) } 语句是一个最简单的 while 循环,点击后会一直运行 { } 中的语句(因为循环执行的判断条件是数值 1,永远为 true)。Click 语句为在鼠标当前位置按下一次鼠标左键,Sleep 60000 语句表示鼠标点击动作完成后停顿 60000毫秒(也就是 1 分钟)。【;】后面的是注释内容,执行脚本后不会运行; 4、编写好这个脚本文件后,保存并命名文件为:Click.ahk; 5、 鼠标右键点击 Click.ahk 这个文件,选择【以管理员身份运行】 。 观察打开的 MuMu 模拟器已经有自动的鼠标点击动作发生了。 【特别提醒】 在 Windows 10 系统上运行一定要用上面第 5 步的【以管理员身份运行】的方法运行脚本,否则脚本只能够在 MuMu 模拟器以外的地方运行,但在模拟器窗口内无法生效。

Android 与 iOS 系统的消息推送机制

图片
相信大家在使用 iPhone 版微信的时候都会有这样的经历,微信已经处于关闭状态了(后台进程运行一段时间就被系统杀掉),这时候我们收到了一个消息提醒,打开微信应用,微信显示“连接中…”和“收取中…”,然后再次显示一次刚才系统推送给我的消息通知。对这个现象比较好奇,于是去知乎上查一下资料,发现知乎上的热心人还真多,看了大家的回答之后,总结如下: [之所以去知乎查看技术问题,因为我并非技术人员,而知乎上很多开发人员是会用通俗易懂的方式解释好技术问题的,因为里面有不少大牛。] 先介绍一下两个重要的消息推送服务: iOS 的推送:Apple 官方的 APNs (Apple Push Notification service)。 Android 的推送:Google 官方的 GCM (Google Cloud Messaging)。 其实两个推送服务的机制是比较接近的,以苹果为例,用一个图示表示如下: 采用 APNs 或者 GCM 进行消息推送,消息都会经由苹果或者谷歌的服务器,然后再到用户设备上,这样做的好处主要有以下几点: 1)省电 这个是最直观的体验。由于这两套推送机制都是用户设备和苹果或谷歌的服务器保持一个长连接,而这个长连接是几乎不会耗损多少电量的,采用统一的连接来接收手机上所有应用的通知消息,耗电量少是显而易见的。 由于苹果采用封闭的策略,因此所有第三方应用都必须采取这种推送方式,因此 iPhone 设备即使电池电量比 Android 少也更耐用。但由于国内众所周知的原因,Google 服务的稳定性大受考验,而且 Google 对第三方应用推行 GCM 方式并不是强制性的,因此国内的应用开发者几乎都单独在后台常驻一个进程,来专门处理消息推送。 2)开发简单 这个是对应用开发者来说的,一般不使用上述的 APNs 或者 GCM 推送机制,就需要自己搭建一条推送服务,可以采用别人开发的成熟协议,或者自己单独开发(如腾讯),这对于开发者来说还是有门槛的。 3)利于统一管理 采用统一的方式来处理就使得系统可以更高效,不会出现多应用同时处理消息卡顿的情况。 当然坏处的话,一个就是稳定性和实效性依赖于苹果或者谷歌的消息服务器,当然这种机制目前正常情况下都能做到 5s 以内的延迟。如果是第三方应用单独放置一个常驻进程