Android
文章平均质量分 54
整理Android开发知识库
www_weibing
要么卷要么卷铺盖
展开
-
Caused by: org.gradle.api.GradleException: ‘compileDebugJavaWithJavac‘ task (current target is 1.8)
这个异常的核心原因是Java和Kotlin编译任务目标的Java版本不一致。具体来说,任务(Java编译任务)的目标版本是 Java 8 (1.8),而任务(Kotlin编译任务)的目标版本是 Java 17 (17在一个项目中,Java和Kotlin的编译任务应当设置为相同的JVM目标版本,以确保兼容性和避免潜在问题。为了修复这个问题,你需要在项目的文件中为Java和Kotlin设置相同的JVM目标版本。原创 2024-04-24 19:35:50 · 980 阅读 · 2 评论 -
Android如何管理多进程
Android操作系统使用Linux内核,因此多进程管理是基于Linux的进程管理机制。原创 2024-04-24 14:06:13 · 483 阅读 · 4 评论 -
Android ContentProvider
在Android中,使用ContentProvider初始化SDK是一种常见的做法,因为ContentProvider是在应用启动时就被系统调用的组件,这使得它可以用作早期初始化代码的一部分。原创 2024-04-24 13:58:42 · 412 阅读 · 2 评论 -
文件多进程、多线程访问
处理多进程和多线程的文件读写操作需要确保对共享资源的访问是同步的,以防止数据竞争和不一致性。原创 2024-04-24 13:41:08 · 320 阅读 · 0 评论 -
统计:UTM
UTM 的全拼是 “Urchin Tracking Module”。UTM参数通常用在URLs中,用以跟踪来自不同来源、媒介或营销活动的网页流量。这种参数最初由Urchin软件公司开发,用于改进网页分析,Google收购了Urchin软件公司后,这些参数和逻辑被整合进了Google Analytics服务。通过在目标URL后添加这些UTM参数,营销人员和网站分析师能够更精确地跟踪用户通过不同广告或营销活动访问网站的方式。这些信息被用来分析效果和计算投资回报率(ROI)等关键指标,以优化和调整营销策略。原创 2024-04-20 18:33:42 · 353 阅读 · 0 评论 -
概念Android AMS
Android的Activity Manager Service(AMS)是负责管理整个系统中Activity生命周期、任务栈、应用启动等核心功能的系统服务。它通过系统级别的进程间通信(IPC)机制与应用程序组件交互,确保应用程序的行为符合Android的多任务处理逻辑和用户的预期。AMS是Android系统架构中的一个关键服务,它通过Binder IPC机制为上层应用程序提供服务。原创 2024-04-20 00:05:51 · 546 阅读 · 2 评论 -
Android Studio历史版本下载地址
hl=zh-cn。原创 2024-04-19 23:56:09 · 609 阅读 · 0 评论 -
Android判断当前进程
【代码】Android判断当前进程。原创 2024-04-18 19:00:35 · 175 阅读 · 0 评论 -
Android 应用分配的内存大小是多少
Android应用的内存限制一般被称为“堆大小限制”(heap size limit),这是每个应用可用于其内存堆的最大内存量。在较旧的Android设备上,堆限制可能小到16MB或32MB,而现代设备的堆限制通常介于128MB到512MB或更高。不同的设备,尤其是有着不同RAM大小的设备,可能会为应用分配不同的最大内存数量。并不能保证系统一定会分配更多的内存,这只是向系统表明应用可能需要更大的内存堆,而系统会根据当前的内存使用情况来决定是否批准这一请求,且这通常只在大内存的设备上有实际效果。原创 2024-04-17 15:45:46 · 1376 阅读 · 0 评论 -
AutoSize屏幕适配
Autosize 是 Android 上一种常用的第三方屏幕适配库,它基于一个简单却有效的原理工作,这个原理叫做 “今日头条屏幕适配方案”。:运行应用时,Autosize 会获取设备的实际屏幕尺寸(例如,设备实际宽度是 1080px),然后根据基准尺寸计算出一个缩放比例。例如,如果基准宽度是 360dp,并且设备宽度是 1080px,那么缩放比例将是 3(1080px / 360dp)。:由于 density 值被修改了,所有使用 dp 单位的布局和组件大小将会根据新的缩放比例自动缩放,适配屏幕。原创 2024-04-17 10:06:40 · 1016 阅读 · 0 评论 -
MAC 终端命令
Command + Shift + . 显示隐藏文件夹环境变量路径 ~/.zshrc。原创 2024-04-17 09:53:47 · 1179 阅读 · 0 评论 -
概念: 类图、时序图
类图和时序图是统一建模语言(UML,Unified Modeling Language)中的两种不同类型的图表,分别用于显示系统中的类及其之间的关系,以及对象间交互的时间顺序。下面分别介绍它们的常用语法。原创 2024-04-17 09:45:18 · 374 阅读 · 0 评论 -
事件总线EventBus
EventBus 是一个 Android 和 Java 的发布/订阅事件总线库,它简化了组件间的通信,尤其是在活动、片段和后台线程中。它有助于减少复杂而易出错的依赖和生命周期问题。原创 2024-04-17 09:37:06 · 431 阅读 · 0 评论 -
adb常用命令汇总
上述只是adb工具众多功能的一部分。在实际使用中,adb命令可以实现更多的高级功能,如模拟器管理、端口转发、备份和恢复设备数据等。为了充分利用adb能多提供的功能,可以通过查看adb的官方文档来获取更多信息和进阶命令。Android Debug Bridge (adb) 是一个多功能命令行工具,它允许你与连接的Android设备或在电脑上的Android模拟器进行通信。其中,KEYCODE为键盘码,例如,KEYCODE_HOME、KEYCODE_BACK等。原创 2024-04-16 23:03:34 · 245 阅读 · 0 评论 -
Android 混淆模板
public *;原创 2024-04-16 22:43:18 · 610 阅读 · 0 评论 -
Android系统API 以及对应的版本号
Android系统的API级别(API Level)和版本号指的是Android操作系统不同发行版本的标识符。每个新的Android版本都有一个独特的API级别,这允许开发者编写能够在特定版本及其以上版本的设备上运行的代码。随着时间的推移,Android系统会继续发展,API级别和版本号也会相应更新。选择目标API级别时,开发者需要考虑他们希望支持的最低Android版本,以及如何使用新版本中引入的特性。了解特定的API级别和版本号对于确保应用程序兼容性和最佳性能非常重要。原创 2024-04-16 13:58:17 · 4202 阅读 · 0 评论 -
IntentService和Service区别
这是由于Android系统为了优化内存和电量消耗增加了对后台服务的限制。这些新的API提供了更灵活的后台任务调度能力,并更好地适应了Android系统的节能策略。在API level 30已被弃用,Google现在推荐使用。原创 2024-04-16 13:46:32 · 633 阅读 · 0 评论 -
Android IPC机制
Android中的应用通常运行在独立的沙箱环境中的进程里,由于安全限制,这些进程无法直接访问彼此的内存空间。在设计IPC通讯时,安全性是一个重要的考虑因素,因为不恰当的IPC实现可能使得应用容易受到恶意攻击,比如Intent劫持、Binder漏洞利用等。因此,应当始终采取相应的保护措施,如验证Intent的来源、使用权限保护Content Provider,以防止未授权的数据访问。例如,Binder非常适合于复杂的、双向的、实时通讯,而Intents更适合于偶尔的、简单的数据传递。原创 2024-04-15 08:39:06 · 592 阅读 · 0 评论 -
Android Activity 启动涉及几个进程
Zygote进程在Android系统启动时被初始创建,并且初始化了虚拟机(Dalvik或ART),预加载了Android系统的核心类库。所有的Android应用进程都是通过fork()从Zygote进程派生出来的,这允许应用快速启动,因为它们继承了已加载的系统资源。Launcher,即Android的桌面应用,提供了用户界面来启动应用的Activity。这个进程有它自己的UI,当用户点击某个应用图标时,Launcher将发出一个Intent来请求启动对应的Activity。原创 2024-04-14 21:06:35 · 599 阅读 · 0 评论 -
Android基础-Activity
生命周期,启动模式(standard,singletop,singletask,singinstance)在使用singletop和singletask模式的时候,会进行回调。Launcher进程,AMS进程,Zygote进程,APP进程。原创 2023-12-17 15:45:56 · 47 阅读 · 1 评论 -
Android-网络优化
可以简单使用 OkHttpClient+Request+Call 来发起一个请求,最后调用Call的enqueue方法, 也可以调用Call的execute同步方法内部通过Dispatcher调度器 和RealCall来执行网络请求如何取消请求?使用call.cancel() 可以立即停止一个正在执行的call。原创 2022-09-07 16:00:58 · 700 阅读 · 0 评论 -
Android基础-学习方法论
针对一个技术点,先掌握整体的一个原理框架。对于细节处, 可暂时记下, 过后再来细细品鉴。”剪枝蔓,立主脑“,就这么个意思吧。多多思考,多多看书,多多动手实践。原创 2023-12-17 15:08:24 · 53 阅读 · 1 评论 -
Android基础-多线程
多线程的概念,是必须要掌握的,用到的场景 IO,网络操作。而且 由于Android主线程中不能执行耗时操作, 所以掌握多线程知识尤为重要。在Android中, 多线程的引入, 主要的因素就是因为主线程的耗时,会引起ANR,也就是应用无响应。Handler消息机制:由handler来更新主线程(这也是handdler的主要使用方式)《Java多线程编程核心技术》《Android开发艺术探索》《Android进阶之光》Android的方式。原创 2023-12-17 14:58:54 · 65 阅读 · 1 评论 -
Android基础-handler
一个messageQueue ,一般说到的都是消息队列, 但是其内部数据结构采用的是单链表的形式,因为要频繁的插入,读取,删除。也就是handler的消息循环,handler负责 发送和处理消息;looper负责消息的循环;messageQueue负责存储消息。一个looper ,是通过ThreadLocal来进行管理的, 每个线程只会有一个looper。有几个handler,几个looper,几个messageQueue。线程间进行消息通信,子线程通知主线程更新UI(主要用途)这篇博客讲解的很到位。原创 2023-12-17 14:52:12 · 51 阅读 · 1 评论