移动开发

reactive与ref对比

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

IDEA——Mac版快捷键

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

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

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

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

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

iOS DispatchSourceTimer 定时器

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

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

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

Android Jetpack架构组件(十)— StartUp

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

Android动画原理分析

简单描述为:将View的一次大的属性变化拆分为多次小的属性变化,在每次VSYNC信号到来时,根据当前时间和插值器来计算当前View属性的值,然后给该View设置该属性值,直到动画执行完毕。其中Choreographer将动画拆分成一次次小的属性变化,Choreographer是动画的指挥者。理想情况下,属性刷新次数(动画拆分为多次小的属性变化)=动画执行时间/16.7ms。 我们从以下4个问题来讲

UIStackView之一问一答

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