刘望舒 刘望舒
4年前
Android Binder原理(四)ServiceManager的启动过程
Binder原理Android框架层本文首发于微信公众号「刘望舒」<!more前言在上一篇文章中,我们以MediaPlayerService为例,讲解了系统服务是如何注册的(addService),既然有注册就势必要有获取,但是在了解获取服务前,我们最好先了解ServiceManager的启动过程,这样更有助于理解系统服务的注册和获取的过程。另外还有一点
实例|APICloud AVM框架开发视频会议APP
APP开发采用的APICloud平台的AVM多端应用开发框架,使用avm.js一个技术栈可同时开发Android&iOS原生App、小程序和iOS轻App,且多端渲染效果统一;全新的App引擎3.0不依赖webView,提供百分百的原生渲染,保障App性能和体验与原生App一致;现有api直接映射兼容小程序接口,延续
Stella981 Stella981
3年前
Android Hook技术
1\.什么是HookHook英文翻译过来就是「钩子」的意思,那我们在什么时候使用这个「钩子」呢?在Android操作系统中系统维护着自己的一套事件分发机制。应用程序,包括应用触发事件和后台逻辑处理,也是根据事件流程一步步地向下执行。而「钩子」的意思,就是在事件传送到终点前截获并监控事件的传输,像个钩子钩上事件一样,并且能够在钩上事件时
Stella981 Stella981
3年前
Cocos Creator 运行时与本地代码双向通讯
cocoscreator游戏在发布到android/ios等平台时,难免要与本地原生平台互相调用。官方为我们提供了Java原生反射机制和ObjectiveC原生反射机制。以android的Java平台为例cocoscreator运行时调用android原生环境varojsb.reflection.cal
Stella981 Stella981
3年前
MQ study
1\.什么是MQ?消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同
Wesley13 Wesley13
3年前
JS 判断各种设备,各种浏览器
话不多说,直接看代码1、区分Android、iphone、ipad:varuanavigator.userAgent.toLowerCase();if(/android|adr/gi.test(ua)){//安卓}elseif(/\(i^;;(U;)?CPU.
Stella981 Stella981
3年前
Javascript 模块化指北
前言随着Web技术的蓬勃发展和依赖的基础设施日益完善,前端领域逐渐从浏览器扩展至服务端(Node.js),桌面端(PC、Android、iOS),乃至于物联网设备(IoT),其中JavaScript承载着这些应用程序的核心部分,随着其规模化和复杂度的成倍增长,其软件工程体系也随之建立起来(协同开发、单元测试、需求和缺陷管理等),模块化编程的
燕青 燕青
1年前
Macos应用程序卸载清理工具:App Cleaner & Uninstaller for Mac中文激活版
是一款适用于Mac操作系统的软件应用程序,允许用户轻松卸载不需要的应用程序、删除剩余文件和文件夹以及管理启动项。该应用程序会分析与您要删除的应用程序关联的文件,并帮助识别其所有组件,以便您可以一次将它们全部删除。除了删除应用程序及其相关文件外,AppCle
融云IM即时通讯 融云IM即时通讯
8个月前
融云IM干货丨推送通知自定义在不同设备上的兼容性问题如何处理?
处理推送通知自定义在不同设备上的兼容性问题,可以采取以下策略:1.适配不同Android版本Android8.0以上版本:使用NotificationChannel来创建通知渠道,并设置通知的属性,如灯光颜色、是否显示角标、震动模式等。Android8.0