
基础知识梳理
文章平均质量分 59
Yimi-依米
这个作者很懒,什么都没留下…
展开
-
安卓中的图片压缩
根据实际需求,开发者可以自定义压缩算法,比如通过调整图片的像素值来减小文件大小。使用在线服务或网页工具来压缩图片,这通常适用于用户需要在网页上操作的情况。根据指定的宽度和高度比例来调整图片的尺寸,然后再进行质量压缩。Matisse是一个图片选择库,它也提供了图片压缩的功能。开发者可以根据自己的需求选择合适的方法或库来实现图片压缩。方法实现,其中可以设置压缩质量(0-100)。通过降低图片的质量来减小文件大小。是一个计算缩放比例的方法。等第三方库来简化压缩过程。原创 2024-05-29 19:08:44 · 999 阅读 · 0 评论 -
Jpg与png图片区别
选择哪种格式取决于你的具体需求,包括图像质量、文件大小、透明度需求和是否需要动画等。Jpg与png图片有什么区别?原创 2024-05-29 18:54:18 · 626 阅读 · 0 评论 -
安卓自定义UI组件开发流程
开发安卓自定义UI组件的流程大致可以分为以下几个步骤:确定需求和设计:创建自定义组件类:定义自定义属性:处理自定义属性:测量和布局:绘制组件:处理交互:优化性能:测试组件:文档和示例:集成到项目中:通过以上步骤,你可以创建出功能丰富、外观独特的自定义UI组件,以满足你的应用开发需求。要自己绘制 UI 组件,你需要了解 Android 中自定义 View 的机制。以下是实现自定义绘制 UI 组件的基本步骤:创建自定义 View 类:创建一个新的 Java 类,继承自 或其他相关的基类(如 用于复杂动画或原创 2024-05-29 13:36:04 · 1381 阅读 · 1 评论 -
Java开发常见基础问题
Java开发的多个方面,包括但不限于Java基础知识、多线程并发、JVM、框架使用、数据库、设计模式、网络编程等。原创 2024-05-28 22:39:04 · 649 阅读 · 0 评论 -
在音乐播放器中Android服务的实现
Service是一种在后台运行的组件,它可以在不与用户交互的情况下执行长时间运行的任务,并且不会被系统销毁。可以使用Android Service来实现音乐播放器。原创 2024-04-29 23:10:35 · 253 阅读 · 0 评论 -
为什么匿名内部类的变量需要用final呢
在JDK8之前,如果我们在匿名内部类中需要访问局部变量,那么这个局部变量必须用final修饰符修饰。因为在匿名内部类中访问的局部变量,实际上是外部方法中的局部变量的一个副本,如果不加final修饰符,那么编译器就会认为这是一个可以修改的副本,从而引发错误。而在JDK8之后,匿名内部类可以直接访问外部方法中的局部变量,不需要再加上final修饰符。原创 2024-04-29 11:12:47 · 306 阅读 · 1 评论 -
Android 跨进程通信
Android中常用的跨进程通信方法有以下几种:Intent、Binder、AIDL、Messenger、ContentProvider。原创 2024-04-24 16:41:00 · 1344 阅读 · 3 评论 -
Android 应用启动过程
启动Activity的生命周期方法:当应用启动后,系统会依次调用启动的Activity的生命周期方法,包括onCreate()、onStart()、onResume()。Zygote进程是专门负责孵化新的应用进程的进程,它是所有应用进程的“父进程”。应用进程初始化:新的应用进程在创建后,会进行一系列的初始化工作,包括应用程序的类加载、资源加载、创建Application对象等。启动器加载:启动器根据应用程序的包名,在设备上查找对应的应用程序,并加载应用程序的数据(包括应用程序的图标、名称等)。原创 2024-04-09 15:15:19 · 1054 阅读 · 2 评论 -
Android 内存泄露与解决方案
内存泄漏是指程序在申请内存后,无法被释放或归还给系统的现象。在Android中,内存泄漏导致的后果会使得应用Crash。常见的内存泄漏场景有:全局集合类强引用没清理会造成内存泄漏(特别是static修饰的集合)、静态成员变量、单例类、非静态内部类/匿名内部类等。解决方案包括:在单例中,使用弱引用、使用HandlerThread、使用AsyncTask、使用WeakHashMap等。原创 2024-04-09 10:41:05 · 783 阅读 · 0 评论 -
Android与RN远程过程调用的原理
Android与RN远程过程调用的原理是通过通信协议进行远程过程调用。RPC(Remote Procedure Call)是分布式系统常见的一种通信方式,从跨进程到跨物理机已经有几十年历史。在React Native中,通信机制是一个C++实现的桥,打通了Java和JS,实现了两者的相互调用。原创 2024-04-07 20:00:02 · 377 阅读 · 0 评论 -
Android 如何通过屏幕大小来适配不同大小的图片
可以使用Android中的dp(密度无关像素)单位来设置不同屏幕密度下的图片大小。dp是Android中的一种尺寸单位,它与屏幕密度无关,只与字体大小有关。在开发过程中,可以使用dp来设置布局和控件的大小,以便在不同的屏幕密度下保持一致的外观。例如,如果想在mdpi(每英寸160个像素)屏幕上显示一张500x500像素的图片,则可以将该图片的大小设置为500dp x 500dp。然后,在hdpi(每英寸240个像素)屏幕上,该图片的大小将变为750dp x 750dp。原创 2024-04-07 19:56:52 · 789 阅读 · 0 评论 -
React Native调用Android的原生功能
这个例子中,我们创建了一个名为 ToastExample 的模块,并在其中定义了一个 show 方法,该方法通过调用 Android 的 Toast 功能来显示一条消息。这个接口会被编译成 Java 或 Kotlin 代码,并在 Android 项目的 android/app/src/main/java// 目录下的相应 Module 中实现。React Native 通过 JavaScript 接口与原生代码通信,这是通过名为 Bridge 的机制实现的。实现原生功能的具体代码。原创 2024-04-06 22:06:43 · 809 阅读 · 1 评论 -
RecyclerView实现View复用的原理
在这个例子中,MyAdapter扩展了RecyclerView.Adapter并定义了一个内部类MyViewHolder,它持有对TextView的引用。onCreateViewHolder()方法负责创建新的视图,onBindViewHolder()方法将数据绑定到视图上。当RecyclerView需要展示一个新的项时,它会调用Adapter的onCreateViewHolder()方法来创建一个新的ViewHolder。它是一个容器,可以利用回收和重用的视图元素来展示数据。原创 2024-04-06 21:50:44 · 293 阅读 · 0 评论 -
RESTful API 简介
使用RESTful API可以使不同系统之间的通信更简单和灵活。开发者可以使用各种编程语言和框架来构建与RESTful API交互的web应用程序。客户端通过发送HTTP请求到服务器的API端点来获取或操作资源。服务器根据请求的URI和HTTP动词执行相应的操作,并返回适当的响应,客户端可以解析响应数据并进行相应的处理。RESTful API (Representational State Transfer) 是一种设计和构建 Web 应用程序的架构风格。它是一种基于HTTP协议的规范,用于在不同的。原创 2024-04-02 21:19:33 · 284 阅读 · 0 评论 -
Android 的网络加载
当用户在应用程序中输入网址或关键字时,应用程序会发起网络请求。详细一点可以参考网络请求步骤(用户输入一个网址到网页最终展现到用户面前)大致流程总结如下:在客户端浏览器中输入网址URL。发送到DNS(域名服务器)获得域名对应的WEB服务器的IP地址。客户端浏览器与WEB服务器建立TCP(传输控制协议)连接。客户端浏览器向对应IP地址的WEB服务器发送相应的HTTP或HTTPS请求。WEB服务器响应请求,返回指定的URL数据或错误信息;如果设定重定向,则重定向到新的URL地址。原创 2024-04-02 17:42:01 · 1641 阅读 · 0 评论 -
InputStream、outputStream文件读写
可以使用OutputStream将InputStream中的数据写入到文件中。InputStream获取到数据后,用outputStream如何读取?原创 2024-04-02 16:13:13 · 304 阅读 · 0 评论 -
Android的图片加载框架
在Android开发中,有许多图像加载框架可供选择。图片加载框架是有一个总体套路的,我们自己也可以通过这个流程实现一个图片框架。图片加载:封装、解析、下载、解码、变换、缓存、显示等。大型工程需考虑图片种类、图片使用率、加载性能、缓存机制、高效、简便的完成图片渲染任务。图片资源类型:jpeg、jpg、png、Webp、AWebp、Lottie、SVGA、NinePatch(点9)、AVD、File(透明视频)存放位置选择:当资源大小超过10Kb时,存放在NOS上;原创 2024-04-02 13:36:40 · 1659 阅读 · 2 评论 -
C++的字节对齐
参考现代计算机中,内存空间按照字节划分,理论上可以从任何起始地址访问任意类型的变量。但实际中在访问特定类型变量时经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序一个接一个地存放,这就是对齐。一般而言,Java对象不需要考虑字节对齐,JVM编译时会自动优化。(注:本文中所说的jdk版本是1.8为基础的。但C/C++/C#等需要考虑对象次序,避免空间浪费。在c语言中,结构体有字节对齐,c++中的类也有字节对齐。原创 2024-04-02 12:40:40 · 885 阅读 · 0 评论 -
C++虚函数表、虚继承,类的大小
C++虚函数表所占的大小?有虚函数的对象比没有虚函数的对象所占字节大小有区别吗?虚继承、虚函数继承中具体类大小的计算;构造函数里调用虚函数是实引用还是虚引用?原创 2024-04-02 10:40:37 · 1659 阅读 · 0 评论 -
C++里指针和引用的区别
在C++中,指针和引用都是用于存储变量地址的数据类型。原创 2024-04-01 17:33:39 · 263 阅读 · 0 评论