Android studio
文章平均质量分 78
程序员小何SS
这个作者很懒,什么都没留下…
展开
-
深入分析 Android 系统返回手势的实现原理
Android 10 正式引入了全屏手势导航(Gesture Navigation),Home 键和 History 键的功能借助上滑和悬停手势得以保留,而 Back 键则以返回手势(Back Gesture)重新与大家见面。本文就这个系统功能一探其实现原理,了解之后:1、作为 FW 开发者可以在 SystemUI 中优化 AsIs 的手势效果:包括图标、动画等角度2、还可以知道 InputMonitor 和 InputManager 的作用,在需要的时候去监视和注入事件。原创 2022-11-04 21:37:17 · 832 阅读 · 0 评论 -
Application的启动流程
获取applicationThread,AMS这两个Binderattach时,将获取applicationThread对象也传递到AMS进程,请求远程调用通知AMS应用进程想要创建Application,此时AMS为服务端AMS收到消息,请求调用applicationThread的远程接口,此时AMS为客户端applicationThread收到AMS的请求,通过Handler发起创建Application的处理任务,后面就没有远程接口调用了。原创 2022-10-31 22:14:26 · 952 阅读 · 0 评论 -
枚举与密封类的使用方法
当我们想表示一组固定的常量时,我们倾向于使用枚举。例如,一周中的几天、网络状态、颜色集等。原创 2022-10-27 20:00:35 · 136 阅读 · 0 评论 -
Android APK的打包流程
Android的包文件APK分为两个部分:代码和资源,所以打包方面也分为资源打包和代码打包两个方面,这篇文章就来分析资源和代码的编译打包原理。具体说来:1.通过AAPT工具进行资源文件(包括AndroidManifest.xml、布局文件、各种xml资源等)的打包,生成R.java文件。2.通过AIDL工具处理AIDL文件,生成相应的)ava文件。3.通过Javac工具编译项目源码,生成Class.文件。原创 2022-10-25 18:49:48 · 4212 阅读 · 0 评论 -
Android如何使用Recylerview和api获取列表
这里我们使用了api,根据数据进行解析,因此它是modelclass.java。在activitymain.xml中添加回收器视图。现在打开MainActivity.java。完整Mainactivity.java。让我们从依赖关系开始。回收适配器.java。原创 2022-10-24 17:40:38 · 233 阅读 · 0 评论 -
Android学习之Serializable和Parcelable
序列化本质上就是把对象内存中的数据按照一定规则,变成一系列的字节数据(二进制数据),然后在把这些字节数据写入到流中。而反序列化的过程相反,先读取字节数据,然后在重新组装成Java对象。原创 2022-10-21 18:16:14 · 174 阅读 · 0 评论 -
Android阴影绘制的方式
不管是自定义View也还是自定义ViewGroup,都是一样的效果,我们都是通过Paint画笔自己画出阴影,本质都是操作onDraw方法。核心类就是 BlurMaskFilter 类,它的兼容性比较好,它通过一个模糊的遮罩来实现几个重要参数:mMaskRadius:扩散的半径BlurMaskFilter.Blur.NORMAL:整个图像都被模糊掉BlurMaskFilter.Blur.SOLID:图像边界外产生一层与图像颜色一致阴影效果。原创 2022-10-19 22:37:20 · 1638 阅读 · 0 评论 -
Android中常见的内存泄漏以及解决方法
Android中的ART虚拟机是一个托管内存环境。垃圾回收器负责内存分配,并在不再使用该内存时将其释放回堆。当应用程序不再使用对象,但垃圾回收器无法删除它们,因为它们仍在被引用时,就会发生内存泄漏。因此,这些对象被保存在内存中,并且不必要地消耗资源。最终,内存泄漏将导致频繁的垃圾回收和内存不足错误。在本文中,我们将讨论Android中最常见的一些内存泄漏以及避免它们的方法。原创 2022-10-17 13:42:30 · 944 阅读 · 0 评论 -
Android实现APP跳转
经过研究,必须每次都要打开启动的Activity才能接收到,因为传递过来的参数就是送到启动的Activity(android.intent.action.MAIN),在其他Activity怎么能拿到参数数据。所以必须每次跳转过来都要第一个打开启动的Activity,这是一种解决方法。这里的bundle如果为空,就说明不是跳转过来的,可能是用户收到点击桌面图标打开app,这样肯定就没有参数值。这里每次都可以拿到参数了,可以做自己想做的事情了,可以保存到ShareMamager或者数据库,做相应地操作。原创 2022-10-13 18:39:21 · 3423 阅读 · 0 评论 -
如何为 Flutter 开发优化低端 PC
在低端 PC 上开始Flutter开发非常令人沮丧。今年早些时候,当我想用 Flutter 学习移动开发时,我很难只打开我的 IDE,甚至不尝试打开另一个窗口(例如浏览器),我的笔记本电脑只会死机😢,因为我使用的是联想 V130 -15IGM 笔记本电脑,配备 Intel Celeron N4000 1.1ghz 双处理器和 4 GB 内存。在这篇文章中,我将分享一些技巧,让您可以开始使用 Flutter 开发出色的应用程序😉。这里所说的所有技巧都对我有用,所以它可能不适合你。原创 2022-09-15 14:26:55 · 312 阅读 · 0 评论 -
带有 Android Studio 模板的快速 RecyclerView 适配器
在本文中,我将向您展示如何利用该解决方案生成带有 ViewBinding/DataBinding 的 RecyclerView Adapter,并节省一些击键和时间。因此,通过按下打开 Android Studio 设置,command + ,然后在选项File and Code Templates下Editor选择并单击加号图标以添加新模板并将以下代码复制到文件中。在该Name字段中,输入您想为模板命名的任何名称;就我而言,我将其命名为RecyclerView Adapter;原创 2022-09-13 15:31:35 · 402 阅读 · 0 评论 -
Android 中 Recycler View 的使用
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,需要一份小编整理出来的。如果你看到了这里,觉得文章写得不错就给个赞呗?最后,如果大伙有什么好的学习方法或建议欢迎大家在评论中积极留言哈,希望大家能够共同学习、共同努力、共同进步。不论遇到什么困难,都不应该成为我们放弃的理由!,有兴趣的伙伴们可以看看~这是适配器类的示例代码。原创 2022-09-07 10:34:43 · 396 阅读 · 0 评论 -
Android:通过集成 3rd 方 SDK 使用平台渠道的深入指南
在这里,我们将在 Android 端集成相同的 SDK,看看我们如何使用我们的平台通道在 Dart 和 Android 之间传输数据。原创 2022-09-05 09:39:19 · 268 阅读 · 0 评论 -
为什么在 Kotlin-Coroutines 中不建议使用 GlobalScope?
这是因为我正在处理片段。正如您已经知道的那样,协程是轻量级的,但Will Consume Some Memory Resources在它肯定运行时仍然如此,这可能会导致您的应用程序中的内存泄漏。很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,需要一份小编整理出来的学习资料的。正如你所看到的,即使第一个片段已经死了,我们的循环仍然继续,因为我们声明了我们的范围,GlobalScope{…}它将继续运行,直到我们的应用程序死了。.原创 2022-09-01 14:33:30 · 1279 阅读 · 0 评论 -
Android Extension Functions与静态 Utility Class
Extension Functions:这些就像附加到 kotlin 中的任何类的扩展属性。它为该类提供了额外的方法,而无需手动继承该类。例如,比方说,我们有视图,我们需要在其中使用视图的可见性。因此,我们可以为视图创建扩展功能,例如,}}为了使用它,我们使用,比如,在这里,您可以看到我们在 android 的视图中附加了 hide() 和 show() 的附加功能。在这里,以上两个扩展函数只能被 View Type 使用,不能被其他任何类型使用。例如,String 不能使用这里的函数。...原创 2022-08-27 10:00:14 · 178 阅读 · 0 评论 -
这些工具将使 Android 开发更有趣
但有时您必须使用物理设备而不是模拟器,例如测试需要蓝牙的功能,或者在最坏的情况下,您的笔记本电脑没有足够的 RAM 来运行模拟器。在这里,您可以使用 scrcpy 镜像您的手机。在开发/调试应用程序时,您需要撤销应用程序的所有权限,或者清除应用程序缓存和存储,甚至卸载应用程序。所以这个插件来帮助,你可以撤销应用程序的权限,清除应用程序缓存和存储,卸载应用程序,从你的 IDEA 中杀死甚至重新启动应用程序,只需几个按钮快捷方式组合。您需要做的就是为您想要的语言添加新的实时模板及其缩写、描述和代码。原创 2022-08-25 09:54:11 · 379 阅读 · 0 评论 -
将Android RecycleView 转换为 LazyColumn - Jetpack Compose
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!原创 2022-08-20 10:25:07 · 439 阅读 · 0 评论 -
Kotli N — 如何创建自定义 Toast
本文在本人文档中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…原创 2022-08-12 10:46:31 · 566 阅读 · 0 评论 -
使用 Java 在 Android 中实现 RecyclerView
这个系列将是我放置所有Android笔记的地方。当我学习有关Android开发的新知识时,我将在本篇文章中介绍好吧,本质上,RecyclerView使得显示大量数据变得简单高效。我们提供数据并定义每个单独项目的外观,RecyclerView库在需要时动态创建元素。...原创 2022-08-02 14:30:30 · 456 阅读 · 0 评论 -
【Android Studio】中的CPU Profiler系统性能分析工具的使用
在 Android 的开发中我们常用的系统性能分析工具有 Systrace,Perfetto 与 Profiler 工具。我们依次来看看这些工具。Systrace 是第一代系统级性能分析工具。在 Perfetto 出现之前,基本上是唯一的性能分析工具(DDMS 在 Android Studio 3.0 就被抛弃),它将 Android 系统和 App 的运行信息以图形化的方式展示出来,与 Log 相比,Systrace 的图像化方式更为直观;与 TraceView 相比,抓取 Systrace 时候的性能开原创 2022-07-07 13:36:58 · 8569 阅读 · 0 评论