| 导语上文介绍了Android中提供的Ashmem(匿名内存)。Ashmem以驱动的形式运行在内核。应用层如果需要使用Ashmem,可以直接打开Ashmem驱动并和驱动进行交互,也可以使用Android为我们提供的基于Ashmem驱动的函数库(更推荐使用这个)。本文将介绍Android提供的Ashmem函数库以及共享内存的实现。1. Ashmem函数库函数 ......
22
0
0
2024-02-15
当涉及到Android应用程序中的网络请求处理时,OkHttp是一个非常强大和流行的工具。其中一个关键的功能是拦截器(Interceptors),它们允许您在请求和响应传输到服务器和应用程序之间执行各种操作。在本文中,我们将深入研究OkHttp拦截器,了解其工作原理以及如何使用它们来优化您的Android应用程序。什么是OkHttp拦截器OkHttp拦截器是 ......
45
0
0
2024-02-05
动态代理是一种在编程中非常有用的设计模式,它允许你在运行时创建一个代理对象来代替原始对象,以便在方法调用前后执行额外的逻辑。在Android开发中,动态代理可以用于各种用例,如性能监控、AOP(面向切面编程)和事件处理。本文将深入探讨Android动态代理的原理、用途和实际示例。什么是动态代理?动态代理是一种通过创建代理对象来代替原始对象的技术,以便在方法调 ......
32
0
0
2024-02-04
简介Android Glide是一款强大的图片加载库,提供了丰富的功能和灵活的使用方式。本文将深入分析Glide的工作原理,并介绍一些使用姿势,助你更好地运用这个优秀的库。原理分析Glide的原理复杂而高效。它首先基于给定的图片URL或资源ID进行加载,支持多种数据源,包括网络请求、本地文件和ContentProvider等。Glide通过缓存机制提高加载速 ......
34
0
0
2024-02-04
前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号如果已有服务号扫码登录后点击公众号头像选择认证详情菜单商户开通点击 ......
39
0
0
2024-02-03
作者简介Leo,携程高级移动开发工程师,关注跨端技术,致力于高效、高性能开发。Jarmon,携程高级移动开发工程师,专注 Flutter、iOS 开发。一、背景随着各种多端技术的蓬勃发展,项目主体从纯 Native 项目,到 Native+RN,到现在的 Native+RN+Flutter。基于我们的业务都在 Flutter 技术栈上面,这要求我们需要嵌套展 ......
52
0
0
2024-01-16
Flutter会在屏幕上绘制Widget。如果一个Widget的内容需要更新,那就只能重绘了。尽管如此,Flutter同样会重新绘制一些Widget,而这些Widget的内容仍有部分未被改变。这可能会影响应用程序的执行性能,有时影响会非常巨大。如果您正在寻找一种方法,来防止不必要的部分重绘,您可以考虑利用RepaintBoundary。在这篇博客理,我们将探 ......
54
0
0
2024-01-14
引言在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助。 一、安装 JDK 官网: JAVA /javase/downloads/index ......
61
0
0
2024-01-13
目录 混淆编辑器介绍 功能说明 编译流程 二者区别 使用说明 规则文件说明 组件化混淆 1. 混淆编译器Android 代码混淆历史时期可以根据使用何种混淆编辑器分为以下两个时期: ProGuard:一个通用的 Java 字节码优化工具 R8:ProGuard 的继承者,专为 Android 设计,编译性能和编译产物更优秀 ......
63
0
0
2024-01-11
WMRouter是一款Android路由框架,基于组件化的设计思路,功能灵活,使用也比较简单。WMRouter最初用于解决美团外卖App在业务演进过程中的实际问题,之后逐步推广到了美团其他App,因此我们决定将其开源,希望更多技术同行一起开发,应用到更广泛的场景里去。GitHub项目地址与使用文档详见 。本文先简单介绍WMRouter的功能和适用场景,然后 ......
67
0
0
2024-01-07
1、概述 html 在android开发的过程当中,有时候会遇到这样的需求,须要显示很大的图片,而且还不容许压缩。好比显示:世界地图、 微博 长图等,那么如何完成这个需求呢? 首先咱们分析一下,图片很是大,考虑到内存的状况,咱们不能一次将整个图片加载到内存中,由于这样会OOM,而后图片的宽或者高超出了手机屏幕的尺寸,要想显示整张没有压缩过的图片,咱们只能每次 ......
138
0
0
2023-09-19
目录前言一、为什么需要自定义控件二、具体步骤1.首先我们创建一个 layout xml文件:2.为自定义控件创建java类:3.在res/values下,新建一个attrs.xml文件:4.最后使用:前言你好, 我是Cici。这几天在做一个小项目的时候,用到了自定义控件,为了方便在XML中进行配置,于是需要用到自定义属性,特此记下用法,方便复习的同时也希望对 ......
156
0
0
2023-09-16
目录一、如何绘制X和Y轴。1、我们来分析下,我们想知道三个坐标,那么这三个坐标是多少呢,我们该怎么计算呢? 答:这里,我是在onSizeChanged()方法中获取到了父类控件的宽度,然后把宽度分成16份,例如,下方的上下左右四个分别如下:2、这三个坐标我们有了,那就好办了,我们根据这四个参数值,就可以知道我们上面三个坐标点的坐标,在draw()方法中,连接 ......
150
0
0
2023-09-15
目录Android中常用的布局方式有以下几种:(一)线性布局LinearLayout(二)相对布局RelativeLayout(三)表格布局TableLayout(四)帧布局FrameLayout(五)绝对布局AbsoluteLayout(六)网格布局GridLayoutAndroid中常用的布局方式有以下几种:线性布局LinearLayout相对布局Rel ......
163
0
0
2023-09-14
目录应用进程的启动流程1、ActivityStackSupervisor.startSpecificActivity2、ATMS.startProcessAsync3、LocalService.startProcess4、startProcessLocked函数5、ProcessList.startProcessLocked6、ProcessList.sta ......
123
0
0
2023-09-11