自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kakaxiqianxin的专栏

禅心已作沾泥絮,不逐春风上下狂

  • 博客(22)
  • 收藏
  • 关注

原创 React Native bundle预加载解决方案

当在原生的app里面加载rn模块的时候,第一次加载的时候会发现加载的时候过长,白屏出现时间过长,这个因为生成rootview的时间过长导致,通过分析react native启动流程可以看出是因为createRootView和startReactApplication消耗时间较长,简单来说那么我们可以提前加载bundle文件,比如可以在application生成的时候提前加载。priva...

2018-06-12 16:31:30 4965 3

原创 ReactNative屏幕适配解决方案

ReactNative也是以pt为单位的,这种单位会导致界面变形先上界面布局render() { return ( <View style={styles.container}> <Text style={styles.welcome}> Welcome to React Native! &...

2018-06-12 15:59:27 9152 2

原创 React Native通信机制

1.React Native 三大线程在ReactInstanceManager的createReactContext中生成CatalystInstanceImpl的时候,在builder里面传递里一个ReactQueueConfigurationSpecCatalystInstanceImpl.Builder catalystInstanceBuilder = new Catalys...

2018-06-12 15:46:54 1283

原创 React Native启动流程

1.首先看ReactActivity,在他的构造方法里可以看到ReactActivityDelegate protected ReactActivity() { mDelegate = createReactActivityDelegate(); } /** * Called at construction time, override if you have a...

2018-06-12 15:45:36 736

原创 View的绘制流程(1)-测量

view的绘制是从rootViewImpl里面调用performTraversals()函数开始的private void performTraversals() { // cache mView since it is used so much below... ...... int childWidthMeasureSpec = getR...

2018-04-21 14:59:56 170

原创 Activity绘制流程(1)

setContentView(resId);调用activity 里面的Activity.java public void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(layoutResID); initWindowDecorActionBar(); ...

2018-04-18 16:34:59 472

原创 Activity绘制流程(2)

Activity的绘制流程PhoneWindow是window在源码中的唯一实例Activity onCreate会走到Acyivity的setContentViewpublic void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(layoutResID); ...

2018-04-18 16:27:03 634

原创 单例模式

Java中单例模式是一个很重要的设计模式,主要作用是保证在Java程序中,某个类只有一个实例存在。单例模式避免了对象的重复创建,减少了内存的开销。单例模式有以下特点:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。单例模式有很多种写法:1.懒汉模式public class SingleTon { private static Singl

2017-09-01 17:11:27 277

原创 枚举法

在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,合适就保留,不合适就丢弃。例如:找出1到100之间的素数,需要将1到100之间的所有整数进行判断。枚举算法因为要列举问题的所有可能的答案,所有它具备以下几个特点:1、

2016-12-23 14:22:58 1217

原创 选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。排序算法即解决以下问题的算法:输入n个

2016-12-14 22:12:37 280

原创 堆排序

堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。堆排序利用了大根

2016-12-14 11:08:14 260

原创 归并排序

归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并过程为:比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r[k]

2016-12-13 16:14:25 176

原创 基数排序

基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法

2016-12-13 15:20:06 278

原创 快速排序

快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。设要排序的数组是A[0]……A[N-1],首先任意选取

2016-12-06 10:34:47 190

原创 插入排序

有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元

2016-12-05 15:08:10 208

原创 希尔排序

希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。先取一个小于n的整数

2016-12-05 14:19:53 360 1

原创 冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。冒泡排序算法的运作如下:(从后往前)比

2016-12-05 11:52:43 284

原创 bitmapshader 实现图片的放大镜效果

/** * Created by qianxin on 16/11/25. */public class ZoomImageView extends View { private Bitmap bitmap; private Paint paint; //放大倍数 private static final int FACTOR = 3; //放大

2016-11-29 17:05:44 1024

原创 path BimapShader

android path bitmapShader 圆形图片

2016-11-29 16:40:03 224

原创 path的一些基本用法

Paint的基本实用方法和技巧(1)基本的使用1.1 负责图形绘制相关//重置mPaint.reset();mPaint.setColor(Color.RED);mPaint.setAlpha(255);//设置画笔的样式mPaint.setStyle(Paint.Style.FILL);//填充内容mPaint.setStyle(Paint.Style.FIL

2016-11-29 15:37:52 742

原创 逆波兰算法

逆波兰 中缀表达式 后追表达式算法

2016-11-29 11:07:30 2528

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-06-30 09:58:09 149

空空如也

空空如也

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

TA关注的人

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