安卓手机的竞争一直非常激烈,上半年安卓的旗舰机型清一色采用骁龙865处理器,性能体验非常出色。随着下半年多款搭载骁龙865Plus的手机相继发布,性能榜单没有意外的会被新机型取代。安兔兔公布了7月份安卓手机性能排行榜,排在前十的机型全部被搭载骁龙865的手机霸榜,高通在安卓旗舰SoC领域具有绝对的统治地位。 自OPPO Find X2 Pro发布以来,就一直以61万的高分占据着榜首的位
转载
2023-08-29 13:32:18
32阅读
前言1. 定义APT,Annotation Processing Tool,即注解处理器,是一种用来处理注解的工具,常用在编译时扫描和处理注解,最终生成处理注解逻辑的Java文件。APT技术在目前的很多框架上都有着使用,如ButterKnife,ARouter,GreenDAO等框架上都有着APT技术的影子。2. 作用使用APT可以在编译时来处理编译时注解,生成额外的Java文件,有如下效果:可以
转载
2023-11-17 13:54:41
58阅读
8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?Fragment的生命周期Fragment必须是依存与Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期。官网这张图很好的说明了两者生命周期的关系:可以看到Fragment比Activity多了几个额外的生命周期回调方法:onAttach(Activity)当Fragment与A
# Android MVVM 用到的包实现
## 1. 整体流程
首先我们来看一下实现 Android MVVM 架构所需要的包以及整个流程:
| 步骤 | 描述 |
| ------ | ------ |
| 1 | 添加 ViewModel 和 LiveData 支持库 |
| 2 | 创建 ViewModel |
| 3 | 创建 Repository |
| 4 | 创建数据模型(M
原创
2024-03-04 06:15:18
12阅读
# Android 常用到的算法
在 Android 开发中,算法的应用极为广泛。从数据结构到搜索算法,了解这些算法能够极大地提升我们应用的性能和用户体验。本文将介绍几种常用的算法,并提供相应的代码示例。
## 1. 排序算法
### 1.1 冒泡排序
冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,比较每对相邻元素,如果它们的顺序错误就把它们交换过来。该过程重复进行,直到没有需要
原创
2024-08-02 10:49:06
180阅读
# Android中使用反射
## 一、整体流程
在Android中,使用反射可以在运行时动态地调用类的方法、获取或设置属性等。下面是使用反射的一般流程:
| 步骤 | 操作 |
| ----------- | ------------------ |
| 1 | 获取要操作的类的Class对象 |
| 2 | 根据Class对象实例化对象 |
| 3 | 获取要操作的方法或属性 |
| 4
原创
2024-06-14 06:25:04
77阅读
# Android 使用线程池的地方
## 概述
在 Android 开发中,线程池是一种重要的技术,可以帮助我们更好地管理和利用线程资源。本文将介绍如何在 Android 项目中使用线程池,并指导刚入行的开发者完成相关操作。
### 流程概述
以下是使用线程池的具体步骤:
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 创建线程池对象 |
| 2 | 提交任务给线程池
原创
2024-05-23 03:28:40
19阅读
# Android Binder 在哪里用到
## 简介
Android Binder 是 Android 系统中的一种 IPC(Inter-Process Communication)机制,用于不同进程间的通信。在 Android 中,各个组件(如 Activity、Service、Content Provider)都运行在不同的进程中,为了实现它们之间的通信,Android Binder 提
原创
2023-11-24 09:57:48
69阅读
引子渐渐的程序员变懒了,然后一个个框架,一个个插件应运而生,然后让程序员在越来越懒的道路上永不停止,美其名曰:减少我们对于细节的不必要关注,而将更大的经历关注在业务层次,提高开发速度。而这种说法得到了绝大数人的赞同,结果就是:我在这边开发框架使用的分享。好坏暂且不论,就开发效率和协同开发方面来说的确是利器,让我们较少的关注结构和协同方面,为公司节省不少时间,也不失为居家旅行的一道良方。闲话少叙,本
转载
2023-08-23 20:45:55
58阅读
设计模式的好处:1:把同一逻辑的代码独立到方法中,注重封装性易读,易复用。2:写类,写方法的时候,应该考虑其移植性。3:熟练运用继承思想,把不容易发生变化的逻辑抽取到抽象类中,让子类去继承它们。设计模式的原则:1:单一原则:(一个逻辑只做一个事情)2:里氏替换原则:(子类应该可以替换掉父类并且正常工作)3:依赖倒置原则:(高层模块不应该依赖与底层模块, 二者都应该依赖于抽象, 抽象不应该依赖于细节
转载
2023-06-29 14:08:00
102阅读
吸引我用令人惊奇的方式打动我一个漂亮的界面,一个精心布置的动画,或一个适时的声效都能带来体验的乐趣。潜移默化的效果能让人感到舒服,能让人感到一股强大的力量。(模仿)现实中的对象比按钮和菜单更有趣让人们直接触摸和操作 App 里的对象。它可以减少执行任务的认知负担,却可以更多地满足情感需求。个性化 人们喜欢增加个人风格,它们让人感觉更有亲切感及控制力。提供明确、漂亮的默认设置,但也要考虑它要有趣、可
转载
2023-08-29 13:32:13
75阅读
1.1Android简介 Android本意指机器人,Google公司将其标识设计为绿色机器人,表示Android系统符合环保概念,是一个轻薄短小,功能强大的移动系统,是第一个真正为手机打造的开放性系统。Android是一种基于Linux的开源的操作系统,主要使用于移动智能设备,如:智能手机、平板电脑和智能电视等。Android操作系统最初由Andy Rubin开发,主要支持手机,目前Androi
转载
2023-08-29 15:37:48
2阅读
七、小程序运行时为了使 Taro 组件转换成小程序组件并运行在小程序环境下, Taro 主要做了两个方面的工作:编译以及运行时适配。编译过程会做很多工作,例如:将 JSX 转换成小程序 .wxml 模板,生成小程序的配置文件、页面及组件的代码等等。编译生成好的代码仍然不能直接运行在小程序环境里,那运行时又是如何与之协同工作的呢?…7.1 注册程序、页面以及自定义组件在小程序中会区分程序、页面以及组
一、APT的使用(Ubuntu Linux软件包管理工具一)
apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
sudo apt-get install # ------(package 安装包)
sudo apt-
项目地址:https://github.com/wyouflf/xUtilsxUtils 简介xUtils
包含了很多实用的android工具。xUtils
源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls最低兼容android
2.2 (api leve
原创
2014-09-14 23:10:08
7202阅读
在Android开发中,资源的管理是一个至关重要的环节,尤其是对那些“没用到的资源”进行查找和处理。这不仅可以减少APK包的体积,还能提高应用的性能,优化用户体验。下面我将分享我的经验,讲述如何高效查找和处理Android中未使用的资源。
> 用户原始需求:我希望能快速找到项目中未使用的资源,这样可以减小APK体积,提高性能。
### 演进历程
在初始阶段,我们使用了多种方法来查找项目中的未
绿盟科技技在检测防御类、安全评估类、安全平台类、远程安全运维服务、安全SaaS服务等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及安全运营等专业安全服务。...
原创
2022-06-07 17:42:00
75阅读
Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和 Binde
转载
2024-05-12 21:52:36
173阅读
1. Builder模式在开发过程中,我们经常用到AlertDialog。在Android源码中,最常用的Builder模式就是AlertDialog.Builder,使用该Builder来构建复制AlertDialog对象。 2. 组合模式Android源码中关于组合模式有一个非常经典的实现,那就是View和ViewGroup的嵌套组合。 在Android的视图层级中,容器一定是ViewGro
转载
2023-06-26 20:27:49
44阅读
1、 简介:全新在线CAD平台,基于JavaScript,WebGL,C++,Node.js,Three.js技术,前台使用html5方式,在线处理二维、三维CAD图纸,用于图纸管理、交流、批注、信息提取、三维展示等场景,支持dwg,dxf,dwf等文件格式,后台使用高效C++程序开发,异步多线程,多进程架构。平台前后台都提供js语言开发接口,开发人员就只需要会js语言,就可以快速搭