自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gacmy的专栏

每个人的强大都是从弱小集聚起来的

  • 博客(275)
  • 资源 (2)
  • 收藏
  • 关注

原创 Bluez目录结构分析

bluez目录结构分析

2022-09-17 16:23:08 861 1

原创 1.Linux蓝牙基础

一个GAP Periphereal在被连接后,就扮演GATT Server的角色,GAP Central设备正在连接一个GAP Periphereal设备那么他就成为了一个GATT Client的角色。

2022-09-17 16:20:06 2133

原创 Matrix-APKChecker分析

APKChecker分析介绍Matrix是腾讯开源的一个APM项目,对于android优化方面无从下手的话,感觉可以研究一下这里主要分析其中一个模块APKChecker,这个模块和其它模块的关联性不是很大,可以单独提取出来、主要就是检测apk内重复资源文件,大小,未使用文件,stl重复引入等功能。如果有自己的想法也可以进行扩展.使用流程指定配置文件运行./app/build/install/app/bin/app --config ./apk-checker-config.json配置

2021-09-08 10:52:02 558

原创 using例子

#include<iostream>using namespace std;namespace game1{int id = 10;};namespace game2{int id = 20;};void testHowUse(){ cout << game1::id << endl; cout << game2::id << endl;}void selectWho1(){ using namesp

2020-12-23 11:25:35 149

原创 XmlPullParser解析

XmlPullParser解析android 解析xml通过XmlPullParser接口解析的。它的解析顺序根据xml文档从上到下解析的XmlPullParser里面有几个属性:还是看代码琢磨吧 fun parseXml(){ var inputStream = assets.open("activity_main.xml") var xmlFactory = XmlPullParserFactory.newInstance() v

2020-12-16 22:27:27 807

原创 内核里面的数据结构链表,红黑树如何找到我们要的数据类型

最近看binder,发现里面的数据结构链表,红黑树结构体只有自己的节点类型,没有存放我们的数据,不像java,可以给链表一个泛型,传入数据类型结构。很好奇它怎么能根据节点找到我们要的数据。有了下面的demo,解释一下。#include <stdio.h>#include <stdlib.h>struct node{ struct node* next;};struct data{ struct node dnode; int type;};//java.

2020-12-03 22:28:54 113

原创 内部拦截法事件源码分析

子View重写dispatchTouchEvent方法 var mLastX = 0f var mLastY = 0f override fun dispatchTouchEvent(ev: MotionEvent): Boolean { val x = ev.x var y = ev.y when(ev?.action){ MotionEvent.ACTION_DOWN->{ .

2020-11-29 15:34:23 149

原创 滑动冲突外部拦截法源码分析

为了解决滑动冲突可以采用外部拦截法,就是重写父布局的onIntercepteTouchEvent方法:ACTION_DOWN 不拦截,ACTION_MOVE,达到父元素滑动条件就拦截,达不到就不拦截 override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean { var intercpted = false var x = ev?.x var y = ev?.y when(e.

2020-11-29 15:00:29 125

原创 View事件机制几点结论探究分析

当前布局(ViewGroup的子类)如果重写dispatchTouchEvent不调用父类的dispatchTouchEvent方法。不管这个dispatchTouchEvent方法返回true还是false,它的子View都将不会受到任何事件。原因:不调用父类ViewGroup的dispatchTouchEvent方法,不再有事件传递流程逻辑的进行.重写ViewGroup的dispatchTouchEvent,必须调用super.dispatchTouchevent()方法,否则事件无法传递下去.

2020-11-29 00:30:40 117

原创 android基础事件流程分析

建立嵌套的布局xml <com.g.grefresh.ViewGroup1 android:id="@+id/parent1" android:orientation="vertical" android:layout_width="300dp" android:background="@android:color/holo_orange_dark" android:layout_height="300dp">

2020-11-28 20:29:34 119

原创 Activity启动流程图(从Launcher启动)

2020-11-24 20:21:14 262

原创 PagerAdapter changed the adapter‘s contents without calling notifyDataSetChanged

The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#`notifyDataSetChanged`!1. 异常发生的地方ViewPager.javavoid populate(int newCurrentItem) { ... final int pageLimit = mOffscreenPageLimit;

2020-11-24 16:39:33 1644 2

原创 32位浮点数 存储方式 java实现

将一个四个字节float类型转化为内存存储格式步骤为:31…031位 符号位 正数是0 负数是130-23位 指数部分:0-22位 尾数部分:下面计算指数部分 和尾数部分如何存入1.先将这个实数的绝对值转化为二进制格式,整数转为二进制,小数转为二进制例如8.25转为二进制1000.010.4转换为二进制0.0110011001100110…2.将这个二进制格式实数的小数...

2018-11-21 14:25:47 1970

原创 kotlin 复合函数 函数链式调用 以及偏函数

package kotlinall.chapter5import java.io.OutputStreamimport java.nio.charset.Charset//复合函数//求f(g(x))的值val add5={i:Int-&gt;i+5}val mutilplyBy2 = {i:Int-&gt; i*2}//复合函数 扩展Function1的扩展方法 infix...

2018-11-02 13:58:36 2581

原创 kotlin 函数闭包

//闭包//函数运行的环境就是闭包//持有函数的运行环境//函数内部可以定义函数 也可以定义类val string = "hello world"fun makeFun():()-&gt;Unit{ var count = 0 return fun(){ println(++count) }}fun fibonacci():()-&gt;Lo...

2018-11-02 11:13:53 1326

原创 kotlin 尾递归优化

package kotlinall.chapter5//尾递归//递归的一种形式//调用自身后无其他操作//tailrec 关键字提示编译器进行尾递归优化data class ListNode(val value:Int,var next:ListNode? = null)tailrec fun findListNode(head:ListNode?,value: Int):Lis...

2018-11-02 10:57:49 596

原创 kotlin 常用高阶函数

package kotlinall.chapter5import java.io.BufferedReaderimport java.io.FileReaderimport java.lang.StringBuilder//高阶函数 传入的参数是函数 或者返回是函数class Hello{ fun world(){ println("Hello World")...

2018-11-02 10:40:42 521

原创 kotlin枚举和密封类

package kotlinall.chapter4/** * 枚举是实例可数的类,枚举也是类 * 可以修改构造,添加成员 * 可以使代码清晰 但是需要一定开销 */enum class LogLevel(val id:Int){ VERBOSE(1),DEBUG(4),INFO(2),WAR(3),ERROR(5),ASSERT(7); fun getTag():S...

2018-11-01 16:04:23 939

原创 kotlin内部类 匿名内部类

package kotlinall.chapter4open class Outter{ val a:Int = 0 class Inner{//内部类默认 访问属性public 而且静态内部类 fun hello(){ // println(a) 静态内部类无法访问 非静态外部类的成员变量 } } inne...

2018-11-01 15:42:35 937

原创 kotlin 扩展方法 数据类 属性代理

package kotlinall.chapter4import java.lang.StringBuilderimport kotlin.reflect.KProperty//类成员可见性//kotlin 属性默认public//internel 模块内可见//方法重载/** Overloads* 名称相同,参数不同的方法* Jvm函数签名的概念:函数名,参数列表* 跟...

2018-11-01 15:24:25 420

原创 kotlin继承

abstract class Person(open val age:Int){//去掉abstract 默认class以final修饰 不能继承 可以使用open去修饰也可以继承 abstract fun work()}//类想要被继承 必须使用open修饰 或者abstract//方法想要被复写 也必须open或者abstract修饰 方法复写必须加上override关键字...

2018-11-01 10:57:20 463

原创 kotlin默认参数 具名参数 变长参数

//具名参数//变长 参数写法//某个参数可以接收多个值//可以不为最后一个参数 位于参数列表任意位置//如果传入参数有歧义,需要使用具名参数//*Array 只支持展开Array 只用于变长参数列表实参 不能重载 不算一般意义的运算符//默认参数 为函数参数指定默认值 可以任意位置指定默认值 传入参数有歧义使用具名参数传参fun main(vararg args:String){...

2018-10-31 14:32:31 751

原创 Kotlin异常捕获

//异常捕获fun main(args:Array&lt;String&gt;){ try { val args1 = args[0].toInt() val args2 = args[1].toInt() println("$args1 $args2") }catch (e : NumberFormatException){ ...

2018-10-31 14:17:23 1949

原创 kotlin for 循环语句

//循环语句fun main(args:String){ for(arg in args){//循环1 println(arg) } //循环2 for ((index,value) in args.withIndex()){ println("$index -&gt; $value") } //循环2等价与 ...

2018-10-31 14:06:55 4337

原创 kotlin分支表达式

//中缀表达式//一个函数只有一个参数可而且用infix修饰 去掉.和()使用这个函数//分支表达式private const val USERNAME="gac"private const val PWD = "123"private const val ADMIN="admin"private const val ADMIN_PWD = "admin"private con...

2018-10-31 13:49:43 356

原创 kotlin运算符重载

//运算符重载定义//任意类可以定义或者重载父类的基本运算符//通过运算符的具名函数定义////重载运输符 方法名称 参数个数要对应 参数类型和返回值可以随意定义class Complex(var real:Double,var imaginary:Double){ // operator fun plus(other:Complex):Complex{//定义运算...

2018-10-31 11:16:42 346

原创 kotlin类的成员变量 方法

//kotlin成员变量 成员方法//函数强调本身不考虑从属//方法的称呼通常从类的角度出发//构造方法参数中 val/var修饰的都是属性//类的内部也可以定义属性class 妹子(性格:String,长相:String,声音:String){ fun 唱歌(歌名:String){ println(歌名) } fun 跳舞(舞名:String...

2018-10-31 10:51:18 3675 1

原创 kotlin lambada表达式

val sum ={arg1:Int,arg2:Int -&gt;//lamba 表达式和匿名函数一样的 println("arg1={$arg1} arg2=${arg2}") arg1+arg2//最后一行返回值 //(Int,Int)-&gt; Int 传入两个int 返回一个int}//参数返回值可以用-&gt;分割val printHello={ print...

2018-10-31 10:22:12 364

原创 kotlin 函数

//函数区别与class里的方法//函数以fun开头 main函数名 args参数//kotlin没有返回值 返回Unit 相当于java void 可以省略不写//{}里面是函数体fun main(args:Array&lt;String&gt;):Unit{ val arg1 = sum(1,2) println(arg1) println(int2Long(...

2018-10-26 13:58:58 344

原创 kotlin常量与变量

//kotlin 常量与变量val FINAL_HELLO_WORLD:String = "Hello World"//常量 public final String HELLO_WORLD java 里的类型var hello_world:String = "hello world"val FINAL_HELLO_CHINA = "Hello World"//类型可以省略 类型推导 编译器...

2018-10-26 13:48:43 433

原创 kotlin数组

package kotlinall.chapter1//kotlin数组val array_int:IntArray = intArrayOf(1,3,5,7) //java 基本类型定制版本 防止装箱 拆箱val array_char:CharArray = charArrayOf('5','6','4')val array_string:Array&lt;String&gt; = ar...

2018-10-25 14:49:55 1385 1

原创 kotlin函数区间

package kotlinall.chapter1//kotlin 区间val range:IntRange = 0..1024//[0,1024]val range_integer:IntRange = 0 until 1024//[0,1024)val emptyRange:IntRange = 0..-1fun main(args:Array&lt;String&gt;){ ...

2018-10-25 14:49:14 309

原创 空类型,智能类型转换

//面向对象class 妹子 (性格:String, 长相:String, 声音:String):人(性格,长相,声音){ init {//构造方法 方法体 println("new 了一个妹子,他性格${性格},长相${长相}") }}class 帅哥 (var 性格:String,var 长相:String,var 声音:String){ in...

2018-10-24 15:36:31 325

原创 kotlin基础数据类型

kotlin基础数据类型//Number类型//Double 64//Float 32//Long 64//Int 32//Short 16//Byte 8//运行在虚拟机中 长度和操作系统无关val aInt:Int = 8//java int Integer合体 自动进行区分val anotherInt:Int=0xFFval moreInt:Int = 0b00000...

2018-10-24 09:43:20 204

原创 Bitmap 内存缓存框架(二)

内存达到限制优先清理占据内存最大的bimap方案LargestLimitedMemoryCache/** * @描述:限定内存缓存大小,内存超出 优先清理bitmap占据内存最大的 * @filename:LargestLimitedMemoryCache.java * @author:gac * @time:2018/6/29 11:19 */public class Lar...

2018-06-29 13:59:35 575

原创 Bitmap内存缓存框架(一)

UniverseImageLoader加载图片首先从内存加载,对于其使用的内存缓存框架可以拿来自己用,也值得去看一下它的实现。首先实现一个通用的内存框架的接口MemoryCache/** * @描述:cache接口 * @filename:MemoryCache.java * @author:gac * @time:2018/6/28 16:03 */public in...

2018-06-29 11:09:44 770

原创 java类型计数器

/** * 类型计数器 */public class TypeCounter extends HashMap&lt;Class&lt;?&gt;,Integer&gt; { private Class&lt;?&gt; baseType; public TypeCounter(Class&lt;?&gt; baseType){ this.baseType = ...

2018-06-28 00:22:36 1650

原创 android:Bitmap 居中 按照宽高比例进行剪裁

public static Bitmap scaleBitmap(Bitmap bitmap,float w,float h){ float width = bitmap.getWidth(); float height = bitmap.getHeight(); float x = 0,y = 0,scaleWidth = width,scaleH...

2018-06-27 09:31:42 4270

原创 日志打印

public class L { private static boolean sDebug = true; private static String sTag = "gacmy"; private static final int JSON_INDENT = 2; public static void init(boolean debug) { ...

2018-06-12 11:04:06 307

原创 Activity生命周期简要分析

对于源码的分析 基于android 8.0如果一个activity 在activity栈的顶部 屏幕前台显示的话 处于运行状态如果一个activity丢失焦点,但是仍然可见的状态(例如处于顶部activity没有全屏,或者透明的)则这个activity处于paused 状态,这种状态下的activity在内存缺乏的时候可以被回收如果一个activity完全被另一个activity遮挡

2018-01-19 10:00:01 540

音视频编码解码资料(花钱购买)

|---------H.264encode(h264编码代码) |---------h264的编解码库和头文件,采用ffmpeg和x264编译(h264交叉编译ffmpeg) |--------- H264Player.rar(H264播放器源代码纯C++) |--------- |--------- H264的经典算法优化 |--------- JM H264解码程序 |--------- h264的编解码库和头文件, |--------- 采用ffmpeg和x264编译 h264和mepg4协议标准 |--------- H264流媒体源代码和相关资料.rar9 |--------- h264实时分析工具H264Visa |--------- h264视频采集 |--------- h264相关资料和源代码 |--------- ,decode264是一个使用ffmpeg sdk开发h264解码的例子 |--------- H264资料打包(二) |--------- H264资料打包(一) |--------- x264视频编解码在linux下实现的源码 |--------- [pdf文档] h264中文协议(中英文对照)9 |--------- T-REC-H.264 |--------- H264新手入门(H264乐园聊天记录 |--------- h24-tw(台湾教程) |--------- h264解码之CAVLC编码实例 |--------- h264_encoder(一个最经典的c语言的源代码) |--------- PDFH.264_GraphShow 2.linux_ffmpeg_h264视频音频编码界面(不断更新更新的内容通过邮箱发布)----- |---------linux环境下视频编程流程 |--------- 基于Linux高清视频无线传输系统设计研究 |--------- 基于嵌入式Linux的远程网络视频监控系统 |--------- 基于linux_V4L视频采集摄像程序 |--------- 基于Linux的视频传输系统(完整方案) |---------嵌入式Linux应用开发完全手册视频源码 |---------arm-linux平台的视频监控程序 |---------交叉编译ffmpeg_+_x264_编码H264_(arm_Linux 3.android视频音频_h264_ffmpeg------------------------ |---------JVT-G050 |--------- FFMPEG移植到Android |--------- 视频的源码,很详细并有注释可用于学习 Android视频采集和实现 |--------- ,采用h264视频编码,3gp格式 android中调用FFMPEG4解码方法与so文 |--------- jm15.0 |--------- ffmpeg for android library anroid手机上的一个音视频编解码库 |--------- |--------- 利用Android 浏览器引擎Webkit 加载具有视频监控功能的插件,以此插件为核心模块扩展浏览器的功能,从而实现手机监控 |--------- ffmpeg H264学习指南介绍 |--------- android opencore框架下的视频编码源码实现 android 视频监控的,开启本地摄像机,设置好端口即可 |--------- android 视频实时采集并上传到服务器上 android的视频监视器,捕捉接收远程的监视视频并显示在手机上

2018-10-08

php学习文档

里面有详细的php用法 函数库,以及从各个博客论坛上摘录的各种容易犯的错误

2013-11-02

空空如也

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

TA关注的人

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