移动开发

【建议收藏】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 }

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)来实现。 方法重载:发生在同一个类中,方法名相同,

Android-推荐一个操作状态栏开源库(StatusBar)

图片来源网络,入侵必删 很多时候,我们开发中都是要适配Android状态栏的。这篇博客分享一个操作状态栏的开源库——StatusBar,目前我开发的新项目使用这个库实现沉浸式状态栏的,希望能提高小伙伴们的开发效率。 StatusBar StatusBar主要用来操作状态栏的,主要特性如下: 透明状态栏,我个人认为可以叫做沉浸式状态栏; 状态栏背景颜色; 状态栏文字颜色(亮|暗色模式)

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()支持正索引和负索引,获取其指定位

Mac电脑上最新的好用邮件软件比较

在Mac电脑上,选择一款好用的邮件软件需要根据个人需求、功能偏好以及与系统生态的兼容性来决定。以下是基于我搜索到的资料,对当前市场上一些优秀的邮件客户端进行比较和推荐: 1. Apple Mail Apple Mail是Mac系统自带的邮件客户端,简洁易用,与macOS生态系统深度集成,支持iCloud、Gmail、AOL等主流邮箱服务。其主要优点包括: 免费且预装:无需额外下载或支付费用。