首页 文章 精选 留言 我的

精选列表

搜索[安卓系统],共10000篇文章
优秀的个人博客,低调大师

Facebook 为安卓用户推出精简版 Messenger Lite,率先面向发展中国家

知道 Facebook Lite 就不难理解 Messenger Lite,两者都是 Facebook/ Messenger 的精简版,其中 Messenger Lite 只有不到 10M,能够快速安装、快速启动,以更轻量的方式建立人与人之间的联系。 据 Facebook 官方表示,全球超过 10 亿用户每月在使用 Messenger,这些用户持有不同的设备、网络速度与可靠性也不尽相同。Messenger Lite 想让更多人连线,无论网络条件好与否、亦或是 Android 手机有限的存储空间,他们要用技术给到用户更好的体验。 相比 Messenger,Messenger Lite 仍具备有前者的核心功能,在交流对话中可以发送接收文字、图片、表情、链接等,不过据 thenextweb,用户不可以下载或者转发收到的表情。两者标识也一样,只是 Messenger 是白底蓝标,Messenger Lite 相反,是蓝底白标。 Messenger Lite 会率先在肯尼亚、突尼斯、马来西亚、斯里兰卡、委内瑞拉等发展中国家上线,之后还将拓展到别的国家。 本文转自d1net(转载)

优秀的个人博客,低调大师

Auto.js 现状:2026 年安卓自动化开发者必须知道的真相

截至 2026 年,Auto.js 已经不是一个单一项目,而是一个碎片化的工具家族:原版仓库(hyb1996/Auto.js)于 2023-02-11 归档,README 明确说明源码已删除;AutoJs6 最新公开 Release 为 v6.7.0(2026-03-14),官方要求 Android 7.0(API 24)及以上;AutoX.js v7.2.4(2026-10-03) 引入 Node.js、TypeScript、Vue3、Jetpack Compose,但公开 APK 仅 arm64-v8a;Auto.js Pro 官网公告称合规整改期间暂停对外服务。对开发者而言,真正的挑战不是"选哪个分支",而是版本分裂、能力分散、依赖外挂、商业缺位这四件事。

优秀的个人博客,低调大师

这应该是目前市面上最好用的一款安卓兼容工具了!

KMRE 平行界面版本一经发布,许多小伙伴纷纷表示 “用心了”、“很好用”。与此同时,自发布以来,对于大家提出的建议和需求,我们也进行了优化和升级。此次上线的 KMRE 新版本中,新增了 4 大功能,并对窗口界面布局作出了优化调整,同时也修复了许多大家反馈的问题。 那本次上线的版本会给大家带来什么新的体验呢?让我们一起往下看吧~ 新增功能和优化调整 1.支持 5.10、5.11、5.13、5.14 内核 自 KMRE 平行界面版本发布以来,我们收到很多小伙伴反馈更新内核后不能使用 KMRE 的问题,于是优麒麟研发小哥哥火速对新内核作出适配,升级了内核的小伙伴们快去试试吧!(下个版本会支持 5.15 内核哦~) 2.支持微信摇一摇 大家快来一起摇一摇吧~ 3.录屏功能全新改版 看了改版后的效果,大家有没有感觉录屏功能使用起来更加便捷呢? 4.KMRE 环境开机自启动可配置、同时运行应用个数可调节 5.窗口界面布局优化调整 布局优化调整后,置顶和截图作为常用功能可以更快地被找到了! 问题修复 当然,除了以上新增功能,优麒麟研发小哥哥也修复了许多问题,下面列举 5 个比较常见的问题,大家如果在旧版本使用期间遇到过此类问题,升级后就可以放心使用啦~ 解决在部分使用场景中出现 QQ 音乐、微信、贝乐虎儿歌闪退的问题 解决两个应用最小化时,从开始菜单点击第二个应用,会将第一个应用还原的问题 解决微信@某人后异常切换为大写的问题、概率性无法收发文件/图片 解决三个应用最小化时,从开始菜单点击已开启的应用,显示 CPU 无法支持更多应用的问题 解决 apk 安装器安装的应用角标显示不正常的问题 更新方法 1、终端输入命令升级 打开终端,输入以下命令进行升级: sudo apt update sudo apt install --only-upgrade kmre 2、软件更新器一键更新 在开始菜单栏找到软件更新器,一键更新,等待完成即可。 以上就是我们本次 KMRE 更新内容介绍啦!详细更新日志可前往论坛进行查看。

优秀的个人博客,低调大师

安卓中高级开发面试之数据核心——数组集合高频面试题及解析

为什么这两个放在一起说,而没有分开写呢? 诚然,集合或者数组二者随便其一,都不是一篇博客能写完的。但是在面试中,面试官一般不会出很多这方面的面试题,所以我们把数组和集合放在一起写一篇博客。本文只罗列几个高频题,不罗列难题和全面集合或数组的知识点。如果想知道更多集合或者数组的知识点,可以私我向我索取。 话不多说,集合底层其实也是数组。 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类。 (2)随着使用经过严格测试的集合框架类,代码质量会得到提高。 (3)通过使用JDK附带的集合类,可以降低代码维护成本。 (4)复用性和可操作性。 2.集合框架中的泛型有什么优点? Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。 3.Iterator是什么? Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。 4.Iterater和ListIterator之间有什么区别? (1)我们可以使用Iterator来遍历Set和List集合,而ListIterator只能遍历List。 (2)Iterator只可以向前遍历,而LIstIterator可以双向遍历。 (3)ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素的索引位置。 5.在Java中,HashMap是如何工作的? HashMap在Map.Entry静态内部类实现中存储key-value对。HashMap使用哈希算法,在put和get方法中,它使用hashCode()和equals()方法。当我们通过传递key-value对调用put方法的时候,HashMap使用Key hashCode()和哈希算法来找出存储key-value对的索引。Entry存储在LinkedList中,所以如果存在entry,它使用equals()方法来检查传递的key是否已经存在,如果存在,它会覆盖value,如果不存在,它会创建一个新的entry然后保存。当我们通过传递key调用get方法时,它再次使用hashCode()来找到数组中的索引,然后使用equals()方法找出正确的Entry,然后返回它的值。下面的图片解释了详细内容。 其它关于HashMap比较重要的问题是容量、负荷系数和阀值调整。HashMap默认的初始容量是32,负荷系数是0.75。阀值是为负荷系数乘以容量,无论何时我们尝试添加一个entry,如果map的大小比阀值大的时候,HashMap会对map的内容进行重新哈希,且使用更大的容量。容量总是2的幂,所以如果你知道你需要存储大量的key-value对,比如缓存从数据库里面拉取的数据,使用正确的容量和负荷系数对HashMap进行初始化是个不错的做法 6.hashCode()和equals()方法有何重要性?(这一个问题我在前文中有专门写一篇博客讲述) HashMap使用Key对象的hashCode()和equals()方法去决定key-value对的索引。当我们试着从HashMap中获取值的时候,这些方法也会被用到。如果这些方法没有被正确地实现,在这种情况下,两个不同Key也许会产生相同的hashCode()和equals()输出,HashMap将会认为它们是相同的,然后覆盖它们,而非把它们存储到不同的地方。同样的,所有不允许存储重复数据的集合类都使用hashCode()和equals()去查找重复,所以正确实现它们非常重要。equals()和hashCode()的实现应该遵循以下规则: (1)如果o1.equals(o2),那么o1.hashCode()== o2.hashCode()总是为true的。 (2)如果o1.hashCode() == o2.hashCode(),并不意味着o1.equals(o2)会为true。 7.HashMap和HashTable有何不同? (1)HashMap允许key和value为null,而HashTable不允许。 (2)HashTable是同步的,而HashMap不是。所以HashMap适合单线程环境,HashTable适合多线程环境。 (3)在Java1.4中引入了LinkedHashMap,HashMap的一个子类,假如你想要遍历顺序,你很容易从HashMap转向LinkedHashMap,但是HashTable不是这样的,它的顺序是不可预知的。 (4)HashMap提供对key的Set进行遍历,因此它是fail-fast的,但HashTable提供对key的Enumeration进行遍历,它不支持fail-fast。 (5)HashTable被认为是个遗留的类,如果你寻求在迭代的时候修改Map,你应该使用CocurrentHashMap。 8.ArrayList和Vector有何异同点? ArrayList和Vector在很多时候都很类似。 (1)两者都是基于索引的,内部由一个数组支持。 (2)两者维护插入的顺序,我们可以根据插入顺序来获取元素。 (3)ArrayList和Vector的迭代器实现都是fail-fast的。 (4)ArrayList和Vector两者允许null值,也可以使用索引值对元素进行随机访问。 以下是ArrayList和Vector的不同点。 (1)Vector是同步的,而ArrayList不是。然而,如果你寻求在迭代的时候对列表进行改变,你应该使用CopyOnWriteArrayList。 (2)ArrayList比Vector快,它因为有同步,不会过载。 (3)ArrayList更加通用,因为我们可以使用Collections工具类轻易地获取同步列表和只读列表。 9.Array和ArrayList有何区别?什么时候更适合用Array? Array可以容纳基本类型和对象,而ArrayList只能容纳对象。 Array是指定大小的,而ArrayList大小是固定的。 Array没有提供ArrayList那么多功能,比如addAll、removeAll和iterator等。尽管ArrayList明显是更好的选择,但也有些时候Array比较好用。 (1)如果列表的大小已经指定,大部分情况下是存储和遍历它们。 (2)对于遍历基本数据类型,尽管Collections使用自动装箱来减轻编码任务,在指定大小的基本类型的列表上工作也会变得很慢。 (3)如果你要使用多维数组,使用[][]比List<List<>>更容易 10.当一个集合被作为参数传递给一个函数时,如何才可以确保函数不能修改它? 在作为参数传递之前,我们可以使用Collections.unmodifiableCollection(Collection c)方法创建一个只读集合,这将确保改变集合的任何操作都会抛出UnsupportedOperationException。 11.说一下链表跟数组的区别 链表:用一组任意储存单元存放线性表的数据元素,并且通过指针链相接结点的序列称为链表。是一种常见的数据组织形式,它采用了动态分配内存的形式实现。需要时可以用new分配内存空间,不需要时用delete将已分配的空间释放,不会造成内存空间的浪费。不靠数组实现,没有下标。数组必须事先定义固定的长度,不能适应数据动态增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成数据浪费。在使用的时候还要数组初始化,注意数组的下标越界。 12.ArrayList集合加入1万条数据,应该怎么提高效率 因为ArrayList的底层是数组实现,并且数组的默认值是10,如果插入10000条要不断的扩容,耗费时间,所以我们调用ArrayList的指定容量的构造器方法ArrayList(int size) 就可以实现不扩容,就提高了性能 最后给大家出一个高频面试题:队列和栈是什么,列出它们的区别?各位自己去查吧,这个问题我就不做解答了。 给大家一个提示:栈和队列两者都被用来预存储数据。java.util.Queue是一个接口,它的实现类在Java并发包中。队列允许先进先出(FIFO)检索元素,但并非总是这样。Deque接口允许从两端检索元素。 栈与队列很相似,但它允许对元素进行后进先出(LIFO)进行检索。 Stack是一个扩展自Vector的类,而Queue是一个接口。 队列的两个基本操作:一个是插入一个数据项,即把一个数据项放入队尾另一个是移除一个数据项,即移除队头的数据项. 最后给大家来一个开心一笑 给你一个写注释的机会,写完就走吧

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册