移动开发

UIStackView之一问一答

前言 此篇文章作为在使用UIStackView前的一些答疑,既是扫盲篇,也是实用篇。以下会讲述一些实用的案例,目的就是让更多的人拥抱UIStackView。同时欢迎小伙伴通过评论区讲讲使用StackView遇到的问题。 答疑 排列视图间距大小不一 问:排列视图间距大小不一,可以用UIStackView吗? 答:当然可以用,UIStackView虽然有space属性,但是适用于所有的排列视图,如果想

iOS知识复习笔记(6)--- 自动释放池AutoreleasePool

原理 autoreleasePool 是OC中的内存自动回收机制,它可以延迟加入autoreleasepool中的变量release的时机,正常情况下,创建的变量会在超出作用域的时候release,但是如果变量加入autoreleasepool,那么release将会延迟执行。 释放时机 被autorelease修饰的对象,释放时机有两种: 如果通过代码添加一个autoreleasepool,在

IDEA——Mac版快捷键

目录 按键含义 常用组合 代码生成快捷键: 代码追踪快捷键: 高效编辑快捷键: 代码重构快捷键: 工具类快捷键: 常规文件操作快捷键: 按键含义 ⌘ command Command键(⌘)相当于Windows中的Control键(Ctrl

Android-推荐一个带数字的进度条开源库(NumberProgressBar)

图片来源网络,入侵必删 在日常的开发中,我们需要执行一个耗时任务的时候,我们可能需要通过带数字的进度条来提示我们的用户。这篇博客分享一个带数字的进度条开源库,帮小伙伴们快速实现想要的效果。 NumberProgressBar 一个带数字的进度条开源库。 效果图 开源库提供的效果图 导入项目 dependencies { compile 'com.daimajia.

iOS DispatchSourceTimer 定时器

1. 概述 说起计时器,很多开发人员第一时间就会想起Timer,但是随着使用的深入,慢慢就发现Timer其实不是很好用,比如说TableView滑动时候不执行,Timer循环引用。 2. DispatchSourceTimer DispatchSourceTimer,也就是大家通常叫的GCD Timer,是依赖于GCD的一种Timer,Runloop的底层代码中也用到这种Timer,可见GCD T

2025最新版 Android Studio安装及组件配置(SDK、JDK、Gradle)

目录 原生 Android 简介 Android Studio必备组件 一、Android Studio安装 二、Android SDK 配置 三、JDK 配置(选做) 四、Gradle 配置 五、新项目测试 原生 Android 简介Android 是由 Google 开发的移动操作系统,而“原生 Android 开发”指的是直接使用

Jetpack之ViewModel

1. 介绍 ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。 Android 框架可以管理界面控制器(如 Activity 和 Fragment)(记住这个术语,后面分析时会出现)的生命周期。 如果系统销毁或重新创建界面控制器,则存储在其中的任何瞬态界面相关数据都会丢失。例如,应用可能会在它的某个 Activ

reactive与ref对比

一、定义数据角度: ref定义:基本数据类型 reactive定义:对象(或数组)数据类型 备注:ref也可以用来定义对象和数组,它内部通过reactive转为代理对象 示例: let p2 = ref({         name: '李四',         age: 18     })     console.log('p2',p2)     let p1 = reactive({    

Android Jetpack架构组件(十)— StartUp

一、StartUp简介 应用程序启动库提供了一种在应用程序启动时初始化组件的简单、高效的方法。库开发人员和应用程序开发人员都可以使用StartUp来简化启动序列并显式设置初始化顺序。 StartUp允许您定义共享单个内容提供程序的组件初始化程序,而不是为每个需要初始化的组件定义单独的content provider。这可以显著缩短应用程序启动时间。 简单的说就是通过一个公共的content pro