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

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

原创 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
870
原创 Dart关键字
Dart 语言为自己保留的单词。除非另有说明,否则这些单词不能用作标识符。即使允许,使用关键字作为标识符也会使阅读代码的其他开发人员感到困惑,应避免这样做。
2024-09-24 15:39:09
334
原创 Dart库&导入
`import`和指令`library`可帮助您创建模块化且可共享的代码库。库不仅提供 API,而且是隐私单元:以下划线 (`_`) 开头的标识符仅在库内可见。_每个Dart文件(及其各个部分)都是一个库_,即使它不使用`library`指令。
2024-09-24 15:37:16
464
原创 排序算法之总述
排序算法(sorting algorithm)用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用,因为有序数据通常能够被更高效地查找、分析和处理。
2024-08-12 19:43:31
1215
1
原创 排序算法之插入排序
插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
2024-08-12 19:42:18
897
原创 排序算法之冒泡排序
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
2024-08-12 19:38:00
851
原创 排序算法之归并排序
归并排序(Merge Sort)是一种基于分治法的有效排序算法。它将一个列表分成较小的子列表,对每个子列表进行排序,然后合并这些子列表以产生一个有序列表。
2024-08-12 19:32:44
1625
原创 排序算法之选择排序
选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是不断地从未排序的部分中选择最小(或最大)的元素,将其放到已排序部分的末尾,直到整个列表有序。
2024-08-12 19:28:59
1225
原创 排序算法之折半插入排序
折半插入排序(Binary Insertion Sort)是插入排序的一种改进版本。它在插入每个元素时使用二分查找(Binary Search)来找到插入位置,从而减少比较次数。
2024-08-12 19:27:52
923
原创 排序算法之快速排序
快速排序(Quick Sort)是一种高效的排序算法,采用分治法策略,通过选择一个基准(pivot),将数组划分为两部分,然后递归地对两部分分别进行排序。
2024-08-12 19:26:13
734
原创 排序算法之希尔排序
1959年Shell发明,是简单插入排序的改进版。是一种高效的排序算法,通过分组和逐步缩减增量,使得数组在接近有序的情况下进行最终排序,从而提高效率。
2024-08-12 19:22:33
704
原创 排序算法之基数排序
基数排序(radix sort)的核心思想与计数排序一致,也通过统计个数来实现排序。在此基础上,基数排序利用数字各位之间的递进关系,依次对每一位进行排序,从而得到最终的排序结果。
2024-08-12 19:20:14
1240
原创 排序算法之桶排序
桶排序(bucket sort)是分治策略的一个典型应用。它通过设置一些具有大小顺序的桶,每个桶对应一个数据范围,将数据平均分配到各个桶中;然后,在每个桶内部分别执行排序;最终按照桶的顺序将所有数据合并。
2024-08-12 19:18:27
929
原创 排序算法之计数排序
计数排序(Counting sort)是一种稳定的线性时间排序算法。该算法于1954年由[哈罗德·H·西华德]提出。计数排序使用一个额外的数组𝐶,其中第i个元素是待排序数组𝐴中值等于𝑖的元素的个数。然后根据数组𝐶来将𝐴中的元素排到正确的位置。
2024-08-12 19:17:28
1423
原创 排序算法之鸡尾酒排序
title: 鸡尾酒排序date: 2024-7-30 10:59:43 +0800categories:排序算法tags:排序算法鸡尾酒排序description: 鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 是冒泡排序的一种变形。此算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。math: true鸡尾酒排序鸡尾酒排序(Cocktail Shaker Sort)是一种双向冒泡排序算法。它通过双向遍历数组,每次在两端交换元素,从而使得大值和小值可以同时移动到
2024-08-12 16:37:55
1226
原创 排序算法之梳排序
梳排序(Comb Sort)是一种由弗拉基米尔·多博舍维奇(Wlodzimierz Dobosiewicz)于1980年所发明的不稳定排序算法,并由史蒂芬·莱西(Stephen Lacey)和理查德·博克斯(Richard Box)于1991年四月号的Byte杂志中推广。梳排序是改良自冒泡排序和快速排序,其要旨在于消除“乌龟”,亦即在数组尾部的小数值,这些数值是造成冒泡排序缓慢的主因。相对地,“兔子”,亦即在数组前端的大数值,不影响冒泡排序的性能。
2024-08-12 16:33:18
1071
原创 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
4749
原创 面向对象、设计原则、设计模式、编程规范和代码重构
实际上,面向对象、设计原则、设计模式、编程规范、代码重构,这五者都是保持或者提高代码质量,本质上都是服务于编写高质量代码这一件事的。当我们追本逐源,看清这个本质之后,很多事情怎么做就清楚了。
2021-03-24 19:35:19
420
原创 如何评判代码质量
最常用到几个评判代码质量的标准是:可维护性、可读性、可扩展性、灵活性、简洁性、可复用性、可测试性。其中,可维护性、可读性、可扩展性又是提到最多的、最重要的三个评价标准。要写出高质量代码,我们就需要掌握一些更加细化、更加能落地的编程方法论,这就包含面向对象设计思想、设计原则、设计模式、编码规范、重构技巧等等
2021-03-24 17:51:44
1559
原创 git merge 的两种模式的区别 --no-ff与fast forward
介绍git merge 的两种模式 - - no-ff与fast forward的区别
2021-03-16 11:06:25
4172
原创 Flutter2的新功能
Flutter web and Null Safety move to stable, Flutter desktop moves to beta and so much more!
2021-03-08 10:41:37
956
原创 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
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人