在这之前,我们还是要先了解一下 VA Client Framework 和 VAService 之间的通讯方式VAService 与通讯VAService首先,VAService 是指 VA 仿造 Android 原生 framework 层 Service 实现的一套副本,举例有 VActivityManagerService,它和系统 AMS 一样,只不过他管理的是 VA 内部 Client
转载
2024-02-12 21:29:08
705阅读
1.单一职责原则:比如说一个ImageLoader,需要加载图片的缓存图片,此时如果将这两个功能都放在一个类中,就违反了这个原则, 我们需要将不同的功能用类精细组织起来,然后通过成员变量的形式将功能组合起来。2.开闭原则:如果我们要在1的基础上增加更多的硬件缓存或者双缓存,此时如果只是在原来的类中使用if进行判断那么就违反了这个原则,因为对于一个类我们需要的是对于修改是关闭的,对于扩展是开发的,此
转载
2024-08-24 10:14:33
182阅读
写在前面前几年预研加开发android双系统,中途用过不少开源代码或者研读过大牛BLOG,现开放双系统设计原理来回报社区。android容器技术目前已在android 6 7 8 9 10 11 12 13版本中分别实现并应用。原型来自于哥伦比亚大学虚拟化实验室的一篇论文(也有一个DEMO),后来一个以色列公司cellrox在2014年进行了商业化,2015年的时候浙大一个操作系统实验室也出了一个
转载
2023-08-16 17:24:57
1185阅读
所谓技术参观,指写给技术玩家观看和互相交流的文章。本文是关于同一个apk程序实现“双开”(实际是伪双开)的一些想法和实现。 一、关于apk程序的双开 今天查邮件看到有人发邮件问我android下的阿里旺旺怎么双开。经过我的中外查证,貌视同个apk程序没有办法运行多个实例,也就是同一个程序不能实现双开;同时同个程序也不能被安装二次,更进一步扼杀了双开的可能。于是那我唯一能想到的是:改apk,让
这是SOLID原则在Android中的实践的第二部,如果你错过或者尚未熟悉第一部,请移步——单一职责原则在Android中的实践。开/闭原则在SOLID里的字母O代表的就是开/闭原则(Open/Close Principle),描述如下:software entities (classes, modules, functions, etc) should be open for extension
在我们的日常生活中,微信它已经不仅仅是一个聊天工具了,我们的许多工作很多时候也离不开它。 有时我们想把生活和工作分开,很多人都有两个微信号,一个工作号一个生活号:工作号用于工作日的业务,生活号用于日常与朋友家人的联系。 这时候我们就很需要“微信双开”功能,可无奈电脑版中的微信只能登录一个账号,装微信多开的插件又怕不安全,还容易被封号。这对于喜欢在电脑端登录微信的
# 在Android中实现原生应用双开的完整流程
## 介绍
在移动应用开发中,"双开"通常指的是在同一台设备上运行同一应用的两个独立实例。这在一些社交应用或游戏中非常受欢迎,可以让用户使用不同的账号或角色。本文将向你介绍如何在Android原生应用中实现双开功能,适合刚入行的开发者,希望能帮助你掌握这一技巧。
## 流程概述
下面是实现Android原生应用双开的基本流程:
| 步骤
VirtualApp原理解析(4)–双开应用启动过程双开应用启动是从HomeActivity的列表点击事件中开始的。用户点击已安装的双开应用则启动这个双开应用。整个过程流程图如下: 1.用户在HomeActivity中点击对应双开应用启动流程由此开始。调用mPresenter.launchApp(data)执行启动流程对应实现在HomePresenterImpl中。在lunchApp()中首先判断
转载
2024-06-23 23:46:46
412阅读
前言及预览最早一直用的macbook pro 2016,后面公司整体大环境都是windows平台,就出了mac入了win笔记本,后来疫情在家搞测试,便买了一个NUC8,配上闲置的三星16G DDR4 3200Hz笔记本内存条,三星500GB 970EVO 固态硬盘,装了windows10一直用到现在。 前几天心血来潮,准备把系统换成黑苹果,并将安装过程记录下来备用。参考了网上多篇教程后,两次便安装
转载
2023-07-31 19:45:07
224阅读
插件化介绍
image.png
插件化技术最初源于免安装运行apk的想法,这个免安装的apk可以理解为插件。支持插件化的app可以在运行时加载和运行插件,这样便可以将app中一些不常用的功能模块做成插件,一方面减小了安装包的大小,另一方面可以实现app功能的动态扩展。想要实现插件化,主要是解决下面三个问题:插件中代码的加载和与主工程的互相调用插件中资源的加载
转载
2023-11-27 22:15:47
237阅读
# Android Adapter简介
在Android开发中,Adapter是一个非常重要的概念。它用于将数据与用户界面元素进行绑定,实现数据的展示和交互。在本文中,我们将介绍Android Adapter的基本概念、用法和常见的几种Adapter实现方式。
## 1. 什么是Adapter
Adapter是一种用于数据与视图之间进行交互的桥梁。它通过将数据与视图进行绑定,实现数据的展示和
原创
2023-11-18 13:56:06
104阅读
# Android MQTT 简介
## 什么是 MQTT
MQTT(Message Queue Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通信协议。它被广泛应用于物联网领域,具有低带宽、低功耗、可靠性高等特点,适用于各种网络环境。
## MQTT 在 Android 上的应用
在 Android 开发中,我们可以使用 MQTT 协议实现设备之间的消息传递
原创
2023-12-26 05:39:50
194阅读
想象一下这样的场景:有一个业务,需要设计一个黑盒系统,可以针对不同的输入参数,动态采取不同的策略及措施和输出,比如平台活动等场景。可能大家会想到的是规则,不同的规则场景下执行不同的一套java代码,也许是个好办法,但该办法可能不能简单的应对产品的热部署。那我们换一个思路,是不是可以把那段实际经常发生变动的java代码分离出来呢,答案当然是肯定的。方式一:通过字节码的机制,动态加载新的规则执行类cl
最近想使用ImageView实现一个小功能,就是ImageView被点击之后显示另外一张图片,然后就想通过定义XML文件来实现不同的图片的切换,感觉这样更加节省内存,逻辑实现其实很简单,如下:mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(Vie
简书 Android sqliit问题探讨与解决方案
简书 Android 应用程序中的 SQLIIT(SQLite 交互问题)是一个大家都可能会遇到的问题,特别是在涉及数据库操作时。随着用户数据的不断增加,以及数据库的复杂性增强,如何高效且稳健地处理应用中的 SQLite 操作成为了一件不容忽视的事情。解决这一问题不仅影响应用性能,更关键的是用户的体验质量。
### 背景定位
在我处理这个
# Android Audiorecord实现步骤
## 1. 简介
在Android开发中,使用AudioRecord可以实现录制音频功能。AudioRecord是一个Android提供的可以实时录制音频的类,可以通过设置参数来控制录制的音频格式、采样率、声道等。
## 2. 实现步骤
下面是实现"android audiorecord简书"的步骤:
```mermaid
journey
原创
2023-11-02 03:26:23
230阅读
参考文章 https://www.jianshu.com/p/264f4dbedf5b 参考文章https://tech.sina.com.cn/csj/2019-07-15/doc-ihytcitm2045967.shtml 第一次接触即刻这款应用是在一款 朋友圈的分享中 第一印象是 类似于知乎+ 今日头条的混合体的感觉... “即刻”在AppStore上
一、关于TyporaTypora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、Linux 三个平台的版本,并且完全免费。 Typora 的极简的设计理念是我最喜爱的地方。它的功能之强大、设计之冷静、体验之美妙、理念之先进,我认为值得所有笔记应用厂商学习。 正如Typora官网首页所说的 「A truly minimal markdown editor. Ne
今天偶然发现网上很多人反映WPS占用内存大,正好有时间,做了一点儿实验研究,发现了一个原因,写出来供分析,也提供一种减低内存碳中和的办法供参考。双进程备份实验的思路很简单,首先打开一个WPS文档,查看内存的占用情况,截图如下:大家可能会问,为什么不只打开wps,不打开任何文档?这个是基于下面的假设,我们认为大多数场景中,都是直接去打开文件,不会单单去打开wps程序,然后通过其中的文件菜单去打开文件
转载
2023-12-21 14:12:24
198阅读
步骤开始:1:点击中间按钮进入设置 2:点击高级设置 3:勾选:关闭Xposed!!!!这个步骤很重要! 4:返回上一层点击:添加应用 5:找到自己需要双开的应用 点击下方的 安装 6:选择 virtualxposed 7:等待安装完即可:可能会比较久;不同手机安装时间存在差异,请耐心等待即可! 8:返回主界面往上滑
转载
2023-08-28 13:57:26
380阅读