自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

怪蜀黍

A super lazy man....

  • 博客(127)
  • 资源 (5)
  • 论坛 (2)
  • 收藏
  • 关注

原创 十三、Android如何使用SystemTrace

SystemTrace解决的问题分析api耗时,解决应用程序卡顿的问题如何使用现在代码中埋点: Trace.beginSection("app onCreate");//开始点 Trace.endSection();//结束点python systrace.py -t 5 -o ~/Trace/mytrace3.html -a packagename需要说明的是位于android sdk/platform-tools文件夹里面,python版本为2.7需要安装的python插件pip

2020-11-17 14:37:14 11

原创 十二、Android的沉浸与动态沉浸

Window的各种效果默认的效果导航栏显示,内容处于导航键上方style <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <it

2020-11-06 19:00:12 45 1

转载 十一、Android坐标系

前言Android View体系是界面编程的核心,他的重要性不亚于Android四大组件,在这个系列中我会陆续讲到View坐标系、View的滑动、View的事件分发等文章来逐步介绍Android View体系。1.View简介View是Android所有控件的基类,同时ViewGroup也是继承自View,看下面这张图我们就会有一个直观的了解:知道了View的层级关系有助于对View的理解...

2020-04-04 21:17:28 112

原创 粒子效果

粒子效果1.基本概念:Duration:粒子发射器,发射粒子的时间。单位为S(秒)。Looping:是否开启。如果开启了循环,Duration值只要大于最小值0.10即可。Prewarm:是否开启预热。只有在开启的循环的时候,预热才有效果,粒子量相似发射了一个粒子周期。Start Delay:预热延迟。游戏开始多长时间后,预热开启。单位为S。Start Lifetime:粒子从发射器...

2020-03-11 14:44:37 128

原创 1.Unity 2D背景图轮换

2D游戏中,背景图轮换是一个非常常用的场景,轮换的方式现在有两种,一种是两张图片不断改变坐标另一种是使用shader,原理相同,同样都是坐标轮换方式一:两张图片不断改变坐标,当第二张到达第一张图片图片的位置,两个交换循环:布局如图代码绑定在BG上,代码如下:using System.Collections;using System.Collections.Generic;using...

2020-02-21 11:15:38 386

原创 一、图片灰度算法

文章目录灰度算法简介一.opencv灰度实现二.灰度算法手动实现灰度算法简介在计算机领域中,灰度(Gray scale)数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以是任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑白两种颜色,灰度图像在黑色与白色之间还有许多级的颜色...

2019-07-03 19:44:45 2706

原创 五、选择排序

文章目录原理原理每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法package exercise.array;import java.util.Arrays;public class SelectSort {...

2019-02-13 12:59:27 659

原创 九、Python的可变参数

写在前面的话传递参数的行为对于现在编程语言来说,再寻常不过的概念参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。 - 来自 wikipedia先来看一个例子:# 来源于 https://docs.python.org/2/library/itertools.htmldef chain(*iterables): for...

2018-11-27 21:28:57 718 4

原创 四、常用的ffmpeg指令

1.抽取音频ffmpeg -i dummy1.mp4 -vn -y -acodec copy dummy1.aacffmpeg -i dummy1.mp4 -vn -y -acodec copy dummy1.m4a2.抽取视频ffmpeg -i dummy1.mkv -vcodec copy –an dummy1.mp43.音视频合成ffmpeg -i video1.av...

2018-11-26 23:46:52 440

原创 三、ffmpeg获取视频信息

获取信息是视频编解码的基础,ffmpeg提供了非常方便的获取信息的方式,代码也比较简单.我就直接贴出来了import ffmpegimport sys# 执行probe执行probe = ffmpeg.probe(&quot;dummy1.mp4&quot;)video_stream = next((stream for stream in probe['streams'] if stream['code...

2018-11-26 08:52:12 5501 8

原创 二、ffmpeg输入输出

这里我们使用Python作为编程语言,非常方便实验,搭配anaconda.可以实现跨平台的效果.1.环境配置:1.下载anaconda:https://www.anaconda.com/download2.下载pycharm(编辑器)3.打开安装anaconda.然后使用anaconda指令conda install ffmpeg2.第一个实例程序.输入输出import ffm...

2018-11-26 08:26:49 1150

原创 一、ffmpeg合并视频

一.Mac安装ffmpeg:brew install ffmpeg二.合并,当所有的格式都一样时:编写批量处理文件filelist.txtfile 'video1.mp4'file 'video2.mp4'file 'video3.mp4'执行指令,生成output.mp4$ ffmpeg -f concat -i filelist.txt -c copy output.mp4...

2018-11-25 22:04:58 936 1

原创 六.opencv ndk环境搭建(cmake方式)

opencv全称open source compute vision,开源的视觉库一.准备工作导入opencv的步骤还是相对简单,准备步骤分为以下三步:下载opencv android sdk https://opencv.org/releases.html将OpenCV-android-sdk/sdk/native/libs拷贝到工程的jniLibs将OpenCV-android...

2018-10-04 16:57:11 703

原创 五.NDK调用so库

NDK调用so库,和原生.h和.cpp的方式大同小异,调用so库实际是将so库当成cpp使用一.添加要被调用的so库二.CMakeLists.txt添加链接# 指定cmke版本cmake_minimum_required(VERSION 3.4.1)include_directories(src/main/cpp/include) #添加头文件的位置#编译CPP到call-lib...

2018-10-04 00:05:23 1078

原创 四.NDK处理Bitmap灰度

Bitmap的处理,是NDK知识中很重要的一部分,本篇文章将讲解一些常用的NDK如何处理bitmap一.编写BitmapUtilBitmapUti.h#ifndef PRACTICLE_BITMAPUTIL_H#define PRACTICLE_BITMAPUTIL_H#include &amp;amp;lt;jni.h&amp;amp;gt;#include &amp;amp;lt;android/bitmap.h&amp;amp;gt;

2018-10-02 21:55:33 549

原创 三.NDK类型转换

NDK的基本类型转换,是NDK使用的基础,本文先讲基本的数据类型.一定程度上,基本数据类型可以直接强转一.Java to C Convert先看看Java2CConvert.h,实现的功能有三个jint 转 c intjlong 转 c longjstring 转 c const char *#ifndef PRACTICLE_JAVACONVERTC_H#define P...

2018-10-02 19:46:49 542

原创 二.extern "C"

extern关键字xtern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定一.extern &quot;C&quot;的作用当它与&quot;C&quot;一起连用时,如:extern &quot;C&quot; void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的

2018-10-02 13:00:15 572

原创 一.Andrid NDK环境搭建

本文使用将Cmake来集成和演示一.给新建的普通工程加上cmake支持在app/build.gradleandroid{ defaultConfig{ .... externalNativeBuild { cmake { cppFlags "" //暂不了解具体用途 } ...

2018-09-30 19:54:53 228

原创 6.4 堆排序

引用地址:https://www.cnblogs.com/MOBIN/p/5374217.htmlpublic class HeapSort { private static void heapSort(int[] arr) { int len = arr.length -1; for(int i = len/2 - 1; i &gt;=0; i --)...

2018-08-09 16:16:49 128

原创 4.1 最大子数组问题(分治法)

public class MaxSubArray { //暴力求解 int maxSubArray1(int arr[]) { int max = 0; for (int i = 0; i &lt; arr.length; i++) { int curMax = arr[i]; for (int j =...

2018-08-06 18:49:42 149

原创 2.3.1 归并排序(分治法)

public class MergeSort { public void printArr(int arr[]){ for (int i = 0; i &amp;amp;lt; arr.length; i++) { System.out.printf(arr[i]+&amp;quot;\t&amp;quot;); } System.out.println(); ...

2018-08-06 15:38:47 128

原创 2.1插入算法

public void insertSort(int arr[]){ for (int i = 1; i &amp;amp;lt; arr.length; i++) { int curValue = arr[i]; int curPos = i-1; while (curPos&amp;amp;gt;=0&amp;amp;amp;&amp;amp;amp;curVa...

2018-08-03 17:35:32 197

原创 十、Material Design记录(待更)

CoordinatorLayout控制协调子viewTabLayouttabMode:fixed //固定tabMode:scrollable //可横向滑动适用于较多tab页面

2017-12-16 23:42:52 183

原创 九、Android混淆

Android混淆没什么特别的.就是能让显得牛逼一点.让破解你软件的人痛苦很多.接下来给大家讲讲混淆的基本概念,Android混淆主要分为四个阶段压缩(Shrink): 侦测并移除代码中无用的类、字段、方法、和特性(Attribute)。优化(Optimize): 分析和优化字节码。混淆(Obfuscate): 使用a、b、c、d这样简短而无意义的名称,对类、字段和方法进行重命名。 前...

2017-10-24 11:01:59 361

原创 八、Handler机制源码解析

Handler机制的主要对象有Handler、Looper、MessageQueue、Thread、ThreadLocal.下面我按照咱们使用Handler程序执行的思路.来给大家捋一下.1.在子线程使用Handler[]() 可以看到.这个new Handler的时候.主要是获取Looper里面的MessageQueue引用.然后给mCallback 和mAsynchronous 赋值.构造函数

2017-09-18 13:52:06 320

原创 七、顺序队列

序言结构示意图顺序队列结构顺序队列常用操作顺序队列实现序言 顺序队列是通过链表的方式来实现结构示意图顺序队列结构typedef struct QUEUE_LIST { Node *pFront; Node *pTail;} *PQUEUE_LIST, QUEUE_LIST;顺序队列常用操作void init_queue_list(PQUEUE_LIST *pqu

2017-06-04 16:26:25 647

原创 六、线性队列

序言结构图队列结构队列常用操作队列的实现序言 线性队列是用数组实现的队列.队列遵循的原则FIFO(first in first out),通常我们说的线性队列,为了节省数组的空间使用,都是循环队列结构图队列结构typedef struct QueueArr { ELEMENT *base; int front; int rear;} QueueArr, *PQ

2017-06-04 15:54:12 324

原创 五、顺序栈

序言栈的结构图栈的结构栈的基本操作序言 用链表实现的栈结构,遵循先进后出栈的结构图栈的结构typedef struct STACK_LIST { Node *pFront; Node *pTail;} *PSTACK_LIST, STACK_LIST;栈的基本操作void init_stack_list(PSTACK_LIST *pstack_list) {

2017-06-04 15:29:11 268

原创 四、线性栈

序言栈的结构图如下栈的结构栈的基本操作实现序言 线性栈是使用线性结构数组直线的栈.栈的结构图如下栈的结构.#define MAX_STACK_ARRAY_SIZE 15typedef struct STACK_ARRAY { ELEMENT *stack; int top; int size;} *PSTACK_ARRAY, STACK_ARRAY;栈的

2017-06-04 15:24:05 508

原创 七、多线程(未完.待更)

序言Java多线程两种方式synchronized的两种种用法序言 指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个执行绪,进而提升整体处理性能Java多线程两种方式:继承Thread实现Runnablesynchronized的两种种用法锁对象.当所有的线程都访问这个对象的同一个方法.锁public void test()

2017-05-24 18:37:46 257

原创 三、双链表

序言双链表表示初始化获取指定节点添加删除销毁序言 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。 所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。双链表表示typedef struct DNode { struct DNode *next; struct DNode *pre;

2017-05-19 22:07:39 217

原创 二、线性表

序言结构如下插入逻辑图解code删除图解code链表反转图解code函数一览序言 单向链表(单链表)是线性表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。结构如下插入逻辑图解code//add to list endbool insert_element_slist(Node *pHead, int pos, ELEMENT data)

2017-05-07 08:33:58 262

原创 一、顺序表

序言c实现github序言 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。c实现//// Created by Eavawu on 30/04/2017.//#include "array.h"#include <math.h>void init_arr(struct Array *array) { array->d

2017-05-01 10:13:45 401

原创 四、快速排序

序言图解排序过程:快排code先找pivot将比pivot小的放在左边,比pivot大的放在右边,递归code地址引用序言 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。 步骤为: 从数列中挑出一个元素,称为”基准”(pivot), 重新排序数...

2017-04-30 14:50:16 353

原创 三、希尔排序

序言标准实现图解实例标准代码输入运行结果改良输入运行结果其他code地址引用:序言 希尔排序算法是按其设计者希尔(Donald Shell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本。它的作法不是每次一个元素挨一个元素的比较。而是初期选用大跨步(增量较大)间隔比较,使记录跳跃式接近它的排序位置;然后增量缩小;...

2017-04-30 09:00:34 294

原创 二、插入排序

序言图解插入排序code输入运行结果code地址序言 英语:Insertion Sort)是一种简单直观的排序算法。 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。图解将arr[i]与arr[x],x取值0&lt;=x&lt;i-1 ,进行比较,如果遇到比i小的或者到达0位...

2017-04-29 16:58:51 361

原创 一、冒泡排序演进

序言基础版本测试运行结果改良版本改良版本code测试运行结果代码地址序言冒泡排序相信都知道.恩.对,那我说那么多废话干么.其实我想说的是.我并没有实际掌握每一个细节.抱着空杯心态.我把冒泡重新写了一下.每个交换和标志位都弄了一下.这才算心安基础版本:基础版本的冒泡原理是:因为每一次交换.都会产生一个最大值.通过len次交换.所有的值都依次排好序void bubble_sort(Elm

2017-04-29 14:25:53 317

原创 七、SpringBoot使用Freemaker

Freemaker是替代Jsp的模版.配置起来也比较简单. [TOC]1.配置maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </

2017-03-24 15:05:26 583

原创 一、2016年终总结

总结: 1.做了一个android应用AndroidGuide 2.博客访问量即将突破三万2017年都快过去了,才想起写2016年的总结.这还是我仔细仔细想.想到的.这一年过的是顺风顺水,一点进步也没有啊。像我这种懒货.别人的总结都是一篇文章。我的年终总结就是一句话,说到这里,我的脸不由得红了起来= . =! 反思1.鸡蛋从外打破是鸡蛋.从内打破是生命.要拒绝懒惰.积蓄力量.keep h

2017-01-23 10:36:05 386

原创 六、Android分多个dex

前言 通常Android应用功能较多就会超过65536.也就是64k.解决的办法,我现在知道的也只有分多这个dex。这里用的是multidex第一步引入app.gradle:compile 'com.android.support:multidex:1.0.1'第二步配置module的app.gradle:android{... dexOptions { preDexLib

2017-01-06 16:41:54 699

Android窗口适配|windowFit.rar

android的窗口适配,Fitsystemwindow,隐藏状态栏,隐藏导航栏,内容延申到导航栏,内容延伸到状态栏。

2020-11-06

组播技术代码

android局域网的组播(多播),单点发送,批量接收

2016-12-21

STM32例子程序|STM32.zip

STM32例子程序

2016-12-21

dos2unix PyYAML cheettemplate

autobinding需要的软件,贡献出来给大家用,搜索了半天才找全的,亲测可用

2015-09-24

pyqt for python2.7

官网的链接不给下载了。速度太慢.亲测可用。找了大半年找到的。

2015-09-17

csdn不错的

发表于 2018-11-02 最后回复 2019-08-07

Mysql

发表于 2018-11-04 最后回复 2018-11-05

空空如也

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

TA关注的人 TA的粉丝

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