自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 收藏
  • 关注

原创 Android 渲染性能

介绍了Android系统中有关性能问题的底层工作原理,也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个方面展开,Android的渲染机制,内存与GC,电量优化。Android的渲染机制Android UI and the GPU...

2020-01-17 15:10:56 419

原创 Flutter 学习之路 —— 汇总

目录页:记录 Flutter 学习历程

2020-01-15 15:46:44 269

原创 Dart 基础概念和内部原理

本文是目录页 具体介绍了 Dart基础概念和内部原理

2019-12-13 12:03:42 2140 1

原创 android项目 gradle 配置指南

gradle 概览 Groovy语言基础 android项目gradle配置指南gradle 详解 android gradle配置指南gradle 2.x升级到4.4gradle 2.14.1 ->gradle-4.4com.android.tools.build:gradle:2.2.3->3.1.2...

2019-12-13 11:41:12 845

原创 Dart关键字

Dart 语言为自己保留的单词。除非另有说明,否则这些单词不能用作标识符。即使允许,使用关键字作为标识符也会使阅读代码的其他开发人员感到困惑,应避免这样做。

2024-09-24 15:39:09 269

原创 Dart库&导入

`import`和指令`library`可帮助您创建模块化且可共享的代码库。库不仅提供 API,而且是隐私单元:以下划线 (`_`) 开头的标识符仅在库内可见。_每个Dart文件(及其各个部分)都是一个库_,即使它不使用`library`指令。

2024-09-24 15:37:16 381

原创 Dart注解

使用Metadata提供有关代码的其他信息。

2024-09-24 15:34:58 301

原创 Dart注释

单行注释、多行注释和文档注释。

2024-09-24 15:31:20 249

原创 排序算法之总述

排序算法(sorting algorithm)用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用,因为有序数据通常能够被更高效地查找、分析和处理。

2024-08-12 19:43:31 1160

原创 排序算法之插入排序

插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

2024-08-12 19:42:18 816

原创 排序算法之冒泡排序

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

2024-08-12 19:38:00 814

原创 排序算法之归并排序

归并排序(Merge Sort)是一种基于分治法的有效排序算法。它将一个列表分成较小的子列表,对每个子列表进行排序,然后合并这些子列表以产生一个有序列表。

2024-08-12 19:32:44 1496

原创 排序算法之选择排序

选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是不断地从未排序的部分中选择最小(或最大)的元素,将其放到已排序部分的末尾,直到整个列表有序。

2024-08-12 19:28:59 1163

原创 排序算法之折半插入排序

折半插入排序(Binary Insertion Sort)是插入排序的一种改进版本。它在插入每个元素时使用二分查找(Binary Search)来找到插入位置,从而减少比较次数。

2024-08-12 19:27:52 776

原创 排序算法之快速排序

快速排序(Quick Sort)是一种高效的排序算法,采用分治法策略,通过选择一个基准(pivot),将数组划分为两部分,然后递归地对两部分分别进行排序。

2024-08-12 19:26:13 682

原创 排序算法之堆排序

堆排序(Heap Sort)是一种基于堆的排序算法,具有较高的效率和稳定性

2024-08-12 19:23:48 1002

原创 排序算法之希尔排序

1959年Shell发明,是简单插入排序的改进版。是一种高效的排序算法,通过分组和逐步缩减增量,使得数组在接近有序的情况下进行最终排序,从而提高效率。

2024-08-12 19:22:33 661

原创 排序算法之基数排序

基数排序(radix sort)的核心思想与计数排序一致,也通过统计个数来实现排序。在此基础上,基数排序利用数字各位之间的递进关系,依次对每一位进行排序,从而得到最终的排序结果。

2024-08-12 19:20:14 1029

原创 排序算法之桶排序

桶排序(bucket sort)是分治策略的一个典型应用。它通过设置一些具有大小顺序的桶,每个桶对应一个数据范围,将数据平均分配到各个桶中;然后,在每个桶内部分别执行排序;最终按照桶的顺序将所有数据合并。

2024-08-12 19:18:27 875

原创 排序算法之计数排序

计数排序(Counting sort)是一种稳定的线性时间排序算法。该算法于1954年由[哈罗德·H·西华德]提出。计数排序使用一个额外的数组𝐶,其中第i个元素是待排序数组𝐴中值等于𝑖的元素的个数。然后根据数组𝐶来将𝐴中的元素排到正确的位置。

2024-08-12 19:17:28 1147

原创 排序算法之鸡尾酒排序

title: 鸡尾酒排序date: 2024-7-30 10:59:43 +0800categories:排序算法tags:排序算法鸡尾酒排序description: 鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 是冒泡排序的一种变形。此算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。math: true鸡尾酒排序鸡尾酒排序(Cocktail Shaker Sort)是一种双向冒泡排序算法。它通过双向遍历数组,每次在两端交换元素,从而使得大值和小值可以同时移动到

2024-08-12 16:37:55 1106

原创 排序算法之梳排序

梳排序(Comb Sort)是一种由弗拉基米尔·多博舍维奇(Wlodzimierz Dobosiewicz)于1980年所发明的不稳定排序算法,并由史蒂芬·莱西(Stephen Lacey)和理查德·博克斯(Richard Box)于1991年四月号的Byte杂志中推广。梳排序是改良自冒泡排序和快速排序,其要旨在于消除“乌龟”,亦即在数组尾部的小数值,这些数值是造成冒泡排序缓慢的主因。相对地,“兔子”,亦即在数组前端的大数值,不影响冒泡排序的性能。

2024-08-12 16:33:18 1017

原创 Flutter 3.0

Flutter 3.0 都有哪些新功能

2022-07-22 12:02:40 1371 1

原创 Flutter框架详解

关于Flutter框架的原理与优劣,一文通透。

2022-07-19 16:58:15 24864 2

原创 dart pragma注解 vm:entry-point

vm:entry-point 语用注释@pragma("vm:entry-point", ...) 必须放在类或成员上,以表明它可以在 AOT 模式下直接从本机或 VM 代码解析、分配或调用。背景Dart VM 预编译器(AOT 编译器)执行整个程序优化,例如摇树和类型流分析 (TFA),以减少生成的编译应用程序的大小并提高其性能。这种优化假设编译器可以看到整个 Dart 程序,并且能够发现和分析所有可能在运行时执行的 Dart 函数和成员。虽然 Dart 代码完全可用于预编译器,但嵌入器的本机代码和

2021-11-12 18:14:36 4324

原创 手动构建APK流程

了解构建流程,手动构建流程

2021-09-08 18:04:53 2425

原创 Java集合--HashMap源码解析

本文从源码角度,详细叙述HashMap实现原理

2021-09-03 17:11:30 215

原创 面向对象、设计原则、设计模式、编程规范和代码重构

实际上,面向对象、设计原则、设计模式、编程规范、代码重构,这五者都是保持或者提高代码质量,本质上都是服务于编写高质量代码这一件事的。当我们追本逐源,看清这个本质之后,很多事情怎么做就清楚了。

2021-03-24 19:35:19 376

原创 如何评判代码质量

最常用到几个评判代码质量的标准是:可维护性、可读性、可扩展性、灵活性、简洁性、可复用性、可测试性。其中,可维护性、可读性、可扩展性又是提到最多的、最重要的三个评价标准。要写出高质量代码,我们就需要掌握一些更加细化、更加能落地的编程方法论,这就包含面向对象设计思想、设计原则、设计模式、编码规范、重构技巧等等

2021-03-24 17:51:44 1465

原创 Android中一张图片需要占用多少内存

图片占内存多少的计算原理

2021-03-23 16:57:52 755 1

原创 Android如何优化Bitmap内存占用

如何优化bitmap的内存占用

2021-03-23 16:54:42 3985 5

原创 Android DisplayMetrics 详解

DisplayMetrics详解

2021-03-19 16:59:13 7063

原创 Flutter Curves 动画曲线示意图

Curves中动画曲线示意图

2021-03-17 16:22:17 676

原创 git commit 参数详解 --amend

git commit 参数详解 -m -a --amend

2021-03-16 11:10:35 7966

原创 git branch -d和-D

git branch -d 和-D的区别

2021-03-16 11:08:54 16164

原创 git checkout 参数详解

git checkout 参数详解

2021-03-16 11:07:26 1344

原创 git merge 的两种模式的区别 --no-ff与fast forward

介绍git merge 的两种模式 - - no-ff与fast forward的区别

2021-03-16 11:06:25 3564

原创 git reset 参数详解

git reset 参数详解

2021-03-16 11:04:04 970 1

原创 Flutter2的新功能

Flutter web and Null Safety move to stable, Flutter desktop moves to beta and so much more!

2021-03-08 10:41:37 883

原创 git常用命令

git常用命令git configgit clonegit initgit addgit statusgit commitgit log- -decorate- - log-size-L分支git branchgit checkoutgit mergegit resetgit config$ git config --global user.name "wrd"$ git config --global user.email "12134@gmail.com"执行了上面的命令后,会在你的主目录(h

2021-02-22 19:34:10 421

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除