自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 第一节:绪论

什么是数据结构? 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科; 程序设计 = 数据结构 + 算法; 简单的来说,数据结构就是关系,是数据元素相互之间存在的一种或多种特定关系的集合; 传统上,我们把数据结构分为逻辑机构和物理结构; 逻辑结构:...

2017-12-01 11:01:00 106

转载 Window和WindowManager浅析

Window和WindowManager浅析 简介: Window表示一个窗口的概念,Window是一个抽象类,它的具体实现是PhoneWindow; 通过WindowManager就可以创建Window,WindowManager是外界访问Window的入口,Window的具体实现位于Wi...

2017-09-30 17:58:00 125

转载 android动画

android 动画 android动画可以分为三种:View动画,帧动画,和属性动画;其实帧动画也属于view的动画的一种; View动画通过对场景中的对象不断做图像变换从而产生动画效果,它是一种渐进式动画,view动画支持自定义; 帧动画,是指通过顺序播放一系列图像从而产生动画效果,可以...

2017-09-30 17:57:00 122

转载 正则表达式

正则表达式 作用:对文本的复杂处理; 工具:RegexBuddy 语法: ①普通字符 字母,汉字,下划线,数字以及没有特殊含义的标点符号,都是普通字符; 在匹配字符串时,匹配与之相同的一个字符; ②转义字符 \n换行符,\t制表符,\\即\本身; \^,\(,\),\+,\?,\{,\}...

2017-09-27 09:15:00 96

转载 线程池

线程池 1.好处 ①重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销; ②能有效控制线程池的最大并发数,避免大量的线程之间因相互抢占系统资源而导致的阻塞现象; ③能够对线程进行简单管理,并提供定时执行以及指定间隔循环执行等功能; 2.ThreadPoolExecutor提供了一...

2017-09-27 09:14:00 78

转载 注解

注解 1.Annotation的作用: ①它不是程序,它可以注释程序 ②可以被其他程序读取 2.格式 @注释名 3.用途 可以使用在package,class,method,field等上面,相当于给它们添加了额外的辅助信息,可以通过反射机制编程实现对这些元数据的访问; 4.相关注解 元...

2017-09-27 09:13:00 63

转载 类加载

JVM运行和类加载全过程 大致过程如下: 加载,链接,初始化,-----> 使用 1.加载 ①将class字节码文件内容加载到内存; class字节码文件的来源很广,加载的时候需要使用类加载器; ②将这些静态数据转换成方法区中的运行时数据结构(二进制); 方法区是一个特殊的堆,类加载...

2017-09-27 09:13:00 81

转载 反射

反射 反射机制是java动态性的特性之一; 反射的由来: 动态语言:在程序运行时,可以改变程序结构或者变量类型,典型的语言:Pathon,javescript等; C,C++,JAVA并不是动态语言,但是JAVA有一定的动态性,它是准动态语言,我们可以利用反射机制、字节码操作获得类似动态语...

2017-09-27 09:12:00 76

转载 Drawable

Drawable drawable是一种可以在Canvas上进行绘制的抽象的概念; 它的种类很多,最常见的颜色和图片都可以是drawable; 优点: 使用简单,比自定义view的成本要低; 非图片类型的drawable占用空间较小,这对减小apk的大小也很有帮助; Drawable一般都...

2017-09-27 09:12:00 91

转载 C++:第三课

处理数据 内置的C++类型分为两组:基本类型和复合类型; 基本类型是整数和浮点数;复合类型包括数组,字符串,指针和结构; 简单变量 程序需要存储信息,为了把信息存储到计算机,程序必须记录3个基本属性; ①信息将存储在哪里 ②存储的值是多少 ③存储何种类型的信息 变量名 ①只能使用数字,字母...

2017-07-24 22:42:00 108

转载 C++:第二课

语句和分号 语句是要执行的操作; 编译器需要知道一条语句何时结束,下条语句何时开始;C++使用了终止符,即分号,它是语句的结束标志,是语句组成的一部分,而不是语句之间 的标记,所以,在C++中不可以省略分号; 在C++的函数中,让函数的方法参数空着,与在空号中使用void等效; 预处理器 ...

2017-07-24 22:40:00 130

转载 C++:第一课

C++是什么? C++继承了C语言高校,简洁,快速和可移植性的传统,在C语言的基础上添加了对面向对象编程和泛型编程的支持。 C++融合了三种不同的编程方式,即面向对象,泛型和C语言代表的过程性语言; 为什么要使用C++? 为什么会出现C语言? C语言的出现,是为了开发UNIX操作系统,因为...

2017-07-24 22:39:00 177

转载 第二课

运算符重载 通过重载,同一个运算符在不同的地方有不同的含义,编译器通过上下文来确定该运算符的含义; cout是一个对象,它表示标准输出流;<<表示将一个字符串插入到输出流中; endl 控制符,它表示重起一行;在输出流中插入endl,光标会跳转到下一行开头; 诸于endl等对...

2017-07-24 19:07:00 79

转载 第一课

C是可移植性语言; 用C编写程序时,编写的内容被存储在文本文件中,该文件称为源代码文件source code file; 文件名以.c结尾,如demo.c,其中,demo为基本名,c是扩展名,demo.c是文件名; C编程的策略:将源代码文件转换成可执行文件(其中包含可直接运行的机器语言...

2017-07-21 18:13:00 68

转载 关于view的积累

1.TextView的android:textIsSelectable="true" 可让当TexitView内容过长显示不全时,让TextView滚动,一般和android:maxHeight=""一起用,而且,它还有长按复制,分享等功能; 2.TextView的setMoveme...

2017-07-17 19:32:00 82

转载 长按录音效果

1. package com.gome.soundrecorder.views; import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.an...

2017-06-17 18:24:00 167

转载 状态栏之QSPanel结构

QSTileHost 属性: Looper mLooper; LinkedHashMap<String, QSTile<?>> mTiles; ArrayList<String> mTileSpecs; Callback mCallback; ...

2017-06-01 21:22:00 222

转载 状态栏类图

View: StatusBarWindowView PhoneStatusBarView NotificationPanelView ViewmExpandedContents QSPanel StatusBarHeaderView KeyguardStatusBarView ...

2017-06-01 13:22:00 380

转载 触摸事件的派发

1.如果这是一个按下事件或者ACTION_SCROLL,将会进入触摸模式,此时将会重新设置控件焦点; 触摸事件位于窗口的坐标系下:event.offsetLocation(0, mCurScrollY); 将事件派发给控件树:mView.dispatchPointerEvent(event...

2017-05-31 12:27:00 116

转载 控件系统大纲

1.WindowManager WindowManager的架构; WinowManager与WindowManagerImpl的关系; WindowManagerGlobal中的三要素以及工作流程; 2.ViewRootImpl ViewRootImpl的作用; 构造函数中的初始...

2017-05-30 22:39:00 80

转载 控件系统原理的剖析

由于平时做项目经常涉及到自定义view,而控件系统又是相当复杂的一个部分,应项目组要求,做一期控件系统原理的讲解报告,于是我从framework层的WindowManager开始剖析控件系统的原理,这里暂不涉及WindowManagerService和SurfaceFlinger;剖析工作由空...

2017-05-28 23:33:00 161

转载 状态栏

1.状态栏的启动 SystemUIService-->通过类的反射,加载SystemBars,并调用start()方法; 在SystemBars方法中,启动一个ServiceMonitor,并开启;这里使用服务监听器的原因是,用来监听是否启用了第三方的状态栏,如果需要使用第三方的,就...

2017-05-28 11:47:00 551

转载 录音器

1.首先是录音器的启动 录音器的在启动的时候,需要判断这个启动意图来自于哪里? 一般是两种,来自于lauchner和其他应用。 启动意图来自于launcher,就是说在桌面点击了这个录音器的图标,然后进入录音器应用,这一种是正常启动; 另一种启动意图来自于其他应用,比如,短信应用中,需...

2017-05-26 00:54:00 190

转载 ContentPrivoder流程分析

ContentProvider是Android中提供的专门用于不同应用间进行数据共享的方式。 系统预置了许多的ContentProvider,比如通讯录信息,日程信息等,要跨进程访问这些信息,需要通过ContentResolver的query,update,insert和delete方法; ...

2017-05-25 19:15:00 167

转载 原生录音器

一.点击录音时 1.首先是判断是否有外部存储,再去判断外部存储的内存是否够用; 如果没有外部存储或者外部存储的内存不够用,那么不会录音,会提示错误; ①判断外部存储内存是否够用 //判断存储空间是否够用 public boolean diskSpaceAvailable(...

2017-05-25 16:44:00 260

转载 屏幕适配

理论知识: 1.常用单位 px:pixel像素 in:inch英寸 mm:毫米 pt:1/72英寸 dpi:一英寸长的直线上的像素点的数量,即像素的密度 dp(dip) : Density-independent pixel //密度无关像素,定义为160dpi的屏幕下,1个像素...

2017-05-24 21:44:00 63

转载 Git

Git是什么?Git是目前世界上最先进的分布式版本控制系统 转载于:https://my.oschina.net/u/3491256/blog/907790...

2017-05-23 22:31:00 52

转载 结束当前程序

Process.killProcess(Process.myPid()) 转载于:https://my.oschina.net/u/3491256/blog/907686

2017-05-23 19:52:00 107

转载 记录1

1.CrashHandler的使用,应用闪退或者停止运行时的获取crash信息的措施; 2.结束当前程序; 转载于:https://my.oschina.net/u/3491256/bl...

2017-05-23 19:49:00 60

转载 CrashHandler获取应用的crash信息

一个程序不管怎么写,都很难避免不crash,当程序crash后虽然无法让其再继续运行,但是如果能够知道crash的原因,那么就可以修复错误。很多产品在发布以后,用户在使用时发生了crash,这个crash信息很难被捕获,这非常不利于产品的持续发展。 可以通过CrashHandler来监视应用...

2017-05-23 19:46:00 294

转载 内存泄露分析之MAT工具

MAT的全称是Eclipse Memory Analyzer,一款强大的内存泄漏分析工具,MAT不需要安装,下载后解压即可使用。 对于Eclipse来说,MAT也有插件版,但是不建议使用,因为独立版使用起来更加方便,即使不安装Eclipse也可以正常使用,当然前提是有内存分析后的hprof文...

2017-05-22 00:42:00 86

转载 响应速度优化和ANR日志分析

响应速度优化的核心思想是避免在主线程中做耗时操作,耗时操作可以采用异步的方式去执行。 响应速度过慢更多的体现在Activity的启动速度上面,如果在主线程中做太多的事情,会导致Activity在启动时出现黑屏现象,甚至出现ANR; ANR产生原因: Android规定,Activity如...

2017-05-22 00:41:00 106

转载 性能优化之优化建议

1.避免创建过多的对象; 2.不要过多的使用枚举,枚举占用的内存空间要比整型大; 3.常量使用static final来修饰; 4.使用一些android特有的数据结构,如SparseArray和Pair,它们都具有更好的性能; 5.适当使用软引用和弱引用; 6.采用内存缓存和磁盘缓...

2017-05-22 00:40:00 226

转载 性能优化之线程优化

线程优化的思想是采用线程池,避免程序中存在大量的Thread。 因为线程池可以重用内部的线程,从而避免了线程的创建和销毁所带来的性能开销,同事线程池还能有效地控制线程池的最大并发数,避免大量的线程因互相抢占系统资源从而导致线程的发生。因此,在实际开发中,我们尽量采用线程池,而不是每次都要创建...

2017-05-22 00:39:00 668

转载 性能优化之Bitmap优化

等等 转载于:https://my.oschina.net/u/3491256/blog/906358

2017-05-22 00:38:00 146

转载 性能优化之ListView优化

等等呢个 转载于:https://my.oschina.net/u/3491256/blog/906357

2017-05-22 00:37:00 55

转载 性能优化之内存泄露优化

内存泄露优化 产生原因:在Android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了。 内存泄漏在开发过程中是一个需要重视的问题,但是由于内存泄漏对开发...

2017-05-22 00:34:00 88

转载 性能优化之布局优化和绘制优化

前言: 1.android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,无法做到PC设备那样具有超大的内存和高性能的CPU,所以,andorid程序不可能无限制地使用内存和CPU资源; 2.过多的使用CPU资源,一般是指做大量的耗时任务,会导致手机变得卡顿甚至程序无法...

2017-05-22 00:07:00 173

转载 线程形态之HandlerThread和IntentService

HandlerThread 它继承了Thread,在它的run方法中创建了Looper并开启了消息循环,这样我们就可以通过获得HandlerThread的Looper来创建Handler,而该handler的任务是执行在该HandlerThread线程中的,就是这样。 HandlerThr...

2017-05-21 19:33:00 92

转载 线程形态之AsyncTask

线程分为主线程和子线程,主线程主要处理和界面有关的事情,而子线程往往用于执行耗时操作; 除了Thread,扮演线程角色的还有很多,如AsyncTask,IntentService,HandlerService, AsyncTask底层用到的是线程池,而IntentService和Ha...

2017-05-21 18:40:00 90

空空如也

空空如也

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

TA关注的人

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