移动开发

【建议收藏】17个XML布局小技巧

前言 我们开发时接触最多的就是xml布局了,还记得我们写Android的第一个Hello World吗,就是通过activity_main.xml显示出来的。 虽然xml写的很多,而且也没有什么技术难度,但是,这也往往是我们最容易忽略的地方,写xml不难,写出好的xml还是得下点功夫了。 什么算是好的xml布局呢,我认为核心有两点,一个是提升开发效率,另一个是提升app性能。围绕着这两点,我也精心

Google 开始正式强制 Android 适配 16 K Page Size,你准备好了吗?

去年中旬我就分享过几篇关于 Android 适配 16K Page Size 的文章,当时就提及了 2025 Google 将会强制要求,而现在 Google 给出了明确时间:自 2025 年 11 月 1 日起,所有提交到 Google Play 且面向 Android 15+ 设备的新应用和现有应用的更新都必须支持 16 KB 的

强软弱虚引用如何理解

强引用: 我们平时最常使用的基本对象引用,JVM不会回收强引用类型对象,即使内存不足导致OOM也不会回收。 实现一个强引用 User user = new User() 软引用: 内存空间足够的情况下,JVM不会回收软引用对象,如果内存空间不足,那么软引用对象会被回收。 只要JVM没有回收,软引用就可以继续被程序使用,因此可以用软引用存放一些内存敏感的缓存。只要内存足够,对象就保持永远不被

前端开发中常用的10个小技巧,助你写出高逼格代码

1. 有条件地向对象、数组添加属性 1) 向对象添加属性 可以使用展开运算符来有条件地向对象中添加属性: const condition = true; const person = { id: 1, name: "dby", ...(condition && { age: 12 }), }; 如果 condition 为 true ,则 { age: 16 }

Android Studio安装及配置

一、下载下载 Android Studio 和应用工具 - Android 开发者 | Android Developers - 二、安装选择自己创建的安装路径,一路next, 三、继续安装配置安装后打开客户端 进度条走完会弹出报错【无法访问SDK】,先别管,点击【Cancel

ES6 Reflect

一、概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。 Reflect 可以用于获取目标对象的行为,它与 Object 类似,但是更易读,为操作对象提供了一种更优雅的方式。它的方法与 Proxy 是对应的。 (1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty)

iOS 仿小红书抽屉效果

最新项目中需要做一个类似小红书的侧滑抽屉效果,经过各种实验,发现MMDrawerController用着不错。 大致思路如下: 打开左边抽屉,按钮后左边push出一个新控制器,但是这个控制器仍然显示在左边的抽屉里的 1:用cocoapods pod MMDrawerController第三方 pod 'MMDrawerController' 2:在AppDelegate中 didFinishLa

超详细!Android 面试题大汇总与深度解析

一、Java 与 Kotlin 基础 1. Java 的多态是如何实现的?多态是指在 Java 中,同一个行为具有多个不同表现形式或形态的能力。它主要通过方法重载(Overloading)和方法重写(Overriding)来实现。 方法重载:发生在同一个类中,方法名相同,

ES6+ 数组方法

1 、concat() 数组、字符串合并。 let a = [1,2,3] let b = [4,5,6] a.concat(b) // [1, 2, 3, 4, 5, 6] let c = 'hello ' let d = 'world' c.concat(d) // 'hello world' 2、 at() 数组、字符串、类数组中添加.at()方法at()支持正索引和负索引,获取其指定位

MT8766平台Android 12系统ESIM功能实现指南

开发平台基本信息 芯片型号:MT8766 操作系统版本:Android 12 Kernel版本:msm-4.19 问题描述客户要求设备支持ESIM功能。初期在高通6125平台上预研ESIM功能时,集成流程较为简单,仅需内置ESIM厂商的APK并开启相应feature及权限即可。然而,由于原ESIM供应商L