自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 NDK 使用 addr2line 定位 Fatal signal (SIGSEGV) 错误

使用NDK编写native code时候,真机常会出现crash的错误。然后logcat就是一片错误堆栈。[cpp] view plain copyI/DEBUG   ( 2562): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 40123d5c    I/DEBUG  

2017-12-26 14:36:14 522

转载 android 动画animation setRepeatCount不起作用

以 xml的形式定义了动画,但是没有起作用如下:[html] view plain copyxml version="1.0" encoding="utf-8"?>  set xmlns:android="http://schemas.android.com/apk/res/android"      android:dura

2017-11-28 15:08:35 2644

转载 ButterKnife onclick点击事件没反应

在添加依赖的时需要添加两个:compile 'com.jakewharton:butterknife:8.4.0'annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'123

2017-11-28 14:35:45 3879

转载 String中intern的方法

internpublic String intern()返回字符串对象的规范化表示形式。一个初始时为空的字符串池,它由类 String 私有地维护。当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 Strin

2017-07-31 10:55:45 288

转载 android:installLocation简析

在Froyo(android 2.2,API Level:8)中引入了android:installLocation.通过设置该属性可以使得开发者以及用户决定程序的安装位置.android:installLocation隶属于AndroidManifest.XML中的manifest节点.如下所示:xmlns:android="http://schemas.android.com/ap

2017-07-04 19:35:58 284

转载 Uri详解之——Uri结构与代码提取

一、URI与Uri大家可能经常会看到在开发时,怎么有的时候是URI,有的时候是Uri,这是怎么回事?名称如此相像的两个类是有什么区别和联系?1.所属的包不同。URI位置在java.net.URI,显然是Java提供的一个类。而Uri位置在android.net.Uri,是由Android提供的一个类。所以初步可以判断,Uri是URI的“扩展”以适应Android系统的需

2017-06-28 18:12:45 646

转载 Android 4.0以上设备的虚拟按键中menu键的显示问题

在 Android 4.0以后,google添加了虚拟导航键来替换实体键,同时按键由原来的四大天王改为back、home、recent三个。研究源码可以发现是否显示菜单键是在 Window初始化的布局中判断的,也即PhoneWindow的generateLayout函数。在android 5.1 以下该函数部分代码是这样实现的:[java] view plain c

2017-06-22 19:15:40 824

转载 commitAllowingStateLoss()

下边两个问题,是在开发中碰到的一些关于Fragment的偶发性的问题,今天时间比较多,就在网上搜了一些解决方式:1、关于Fragment(XXFragment) not attached to Activity 异常。出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。解决方法,就是等将调用的代码

2017-06-21 19:13:23 1928

转载 EventBus3.0使用详解

转至:http://blog.csdn.net/baidu_17508977/article/details/51612098前言:EventBus是最近接手的一个项目上在用的开源库,但是我这个EventBus菜鸟,之前还没用过,还没好好感受过它的好处,前几天刚刚看完源码,对EventBus有了一个大体的了解,看完源码之后,感觉此库真是好处多多啊,不吹不黑,不服

2017-06-20 19:56:57 242

转载 图的邻接表存储 c实现

用到的数据结构是一个是顶点表,包括顶点和指向下一个邻接点的指针一个是边表, 数据结构跟顶点不同,存储的是顶点的序号,和指向下一个的指针刚开始的时候把顶点表初始化,指针指向null。然后边表插入进来,是插入到前一个,也就是直接插入到firstedge指向的下一个,而后面的后移 [cpp] view plain copy print?

2017-06-07 11:38:09 547 1

转载 HTTP协议原理

1. HTTP简介HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议的主要特点1. 支持C/S(客户/服务器)模式。2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST,每种方法规定了客户与服务

2017-06-03 18:35:16 345

转载 Android网络编程概述

Android网络编程概述一. Android平台网络API接口1)java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、Internet协议、常见Http处理等。比如:创建URL,以及URLConnection/HttpURLConnection对象、设置链接参数、链接到服务器、向服务器写数

2017-06-03 18:07:49 437

转载 Http和Socket连接区别

1、TCP连接要想明白Socket连接,先要明白TCP连接。手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器

2017-06-03 13:13:40 372

转载 网络七层模型

国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢, 大大推动了网络通信的发展。        OSI模型有7层结构,每层都可以有几个子层。下面我简单的介绍一下这7层及其功能。 OSI的7层从上到下分别是:  

2017-06-03 12:59:39 337

转载 ListView中单独更新某个Item的方法

在一些listview的应用中,有时只是需要更新某一个指定的item。如聊天应用中,发送聊天结束的时候去更新发送的这条聊天的状态;论坛中,给某个帖子点赞成功之后去更新这个帖子的点赞数量。这个时候,我们不需要去调用Adapter的notifyDataSetChanged方法。可以写一个updateItem(int position)的方法去更新指定项。listview提供了getchilda

2017-06-01 23:53:25 2453

转载 Android - 封装Fragment不依赖于Activity

封装Fragment不依赖于ActivityFragment直接托管activity的intent会破坏Fragment的封装性。可以使用newInstance()的静态方法,完成fragment实例及bundle对象的创建,然后将argument放入bundle中,最后再附加给fragment.newInstance代码:

2017-06-01 23:47:38 730

转载 管理fragment

要管理fragment们,需使用FragmentManager,要获取它,需在activity中调用方法getFragmentManager()。你可以用FragmentManager来做以上事情:1.使用方法findFragmentById()或findFragmentByTag(),获取activity中已存在的fragment们。2.使用方法popBackStack(

2017-06-01 23:34:40 325

转载 Android Binder机制----实现自定义的系统服务

一.基于源码分析Binder机制:      Binder机制是Android系统中实现跨进程通信(IPC)的一种重要机制。可以说,Binder机制在android系统中无处不在,所以,要研究android源码,学好Binder机制极其重要。      在学习Binder机制之前,我们先试着摸索一下系统中一些相关的涉及到Binder机制的代码。首先,先看看SystemServe

2017-06-01 23:05:51 774

转载 JVM、Dalvik以及ART的区别

转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/523549641. 前言Dalvik是Google公司自己设计用于Android平台的虚拟机。Dalvik经过优化,使其更适合Android平台。具体优点会在下面和JVM进行比较时说明。2014年6月谷歌I/O大会,Android L 改动幅度较大,Goog

2017-06-01 21:45:17 413

转载 __cplusplus,extern "C"的作用

首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说:如果这是一段cpp的代码,那么加入extern"C"{和}处理其中的代码。 要明白为何使用extern"C",还得从cpp中对函数的重载处理开始说起。在c++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型,参数类型等等.而在C中,只是简单

2017-06-01 19:45:33 9125 1

转载 Android service的生命周期

Android Service的生命周期Android Service的生命周期Managing the Lifecycle of a Service  service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径:A started service  被开启的service通过其他组件调用 startService()被创建。

2017-06-01 19:13:22 266

转载 Android发送广播的三种方式

发送广播三种发送方法。sendBroadcast(),sendOrderedBroadcast()和sendStickyBroadcast()sendBroadcast()这个方法的广播是能够发送给所有广播接收者,按照注册的先后顺序,如果你这个时候设置了广播接收者的优先级,优先级如果恰好与注册顺序相同,则不会有任何问题,如果顺序不一样,会出leaked IntentReceiv

2017-06-01 19:04:07 16640

转载 NDK 与 JNI 的关系以及调用流程

简介 JNI是Java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码。JNI 是本地编程接口,Java和C/C++互相通过的接口。Java通过C/C++使用本地的代码的一个关键性原因在于C/C++代码的高效性。NDK是一系列工具的集合。它提供了一系列的工具,帮助开发者快速开发C(

2017-06-01 09:42:15 276

转载 静态库与动态库

当程序与静态库连接时,库中目标文件所含的所有将被程序使用的函数的机器码被copy到最终的可执行文件中。这就会导致最终生成的可执行代码量相对变多,相当于编译器将代码补充完整了,这样运行起来相对就快些。不过会有个缺点: 占用磁盘和内存空间. 静态库会被添加到和它连接的每个程序中, 而且这些程序运行时, 都会被加载到内存中. 无形中又多消耗了更多的内存空间.       与共享库连接的可执行文件

2017-05-31 20:18:49 230

转载 纹理过滤函数glTexParameteri

OpenGL——纹理过滤函数glTexParameteri()图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素.glTexParameteri(int target, int pname, int param)target —— 目标纹理,必

2017-05-31 20:02:19 983

转载 HashMap,HashTable,LinkedHashMap,TreeMap

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问

2017-05-31 17:03:28 285

转载 生产者消费者模式

import java.util.LinkedList;public class Storage {private final int MAX_SIZE = 100; // 仓库最大存储量private LinkedList list = new LinkedList();  // 仓库存储的载体// 生产num个产品public void produc

2017-05-31 11:02:10 223

转载 VBO与PBO,DMA异步快速传递

VBO(Vertex Buffer Array): OpenGL存储顶点数据的高速缓存,可减少渲染时间,相关APIs如下(OpenGL ES 2.0以上)1234GLES20.glGenBuffers(1, vboId, 0);//申请GLES20.glBindBuffer(GLES30.GL_ARRAY_BUFFER, vboId[0]);//绑定GL

2017-05-31 10:38:09 1426

转载 glCullFace与glPolygonMode

void glCullFace(GLenum mode); 参数 mode  指定应剔除多边形的哪一个面,不是GL_FRONT就是GL_BACK。 作用:本函数可以禁用多边形正面或背面上的光照、阴影和颜色计算及操作,消除不必要的渲染计算,因为无论对象如何进行旋转或变换,都不会看到多边形的背面。用GL_CULL_FACE参数调用glEnable和glDisable可以启用或禁用剔除。

2017-05-31 10:26:16 1667

转载 STATIC_DRAW, DYNAMIC_DRAW, STREAM_DRAW的区别

Opengl ES 缓冲区对象允许usage标示符取以下9种值:GL_STATIC_DRAW,GL_STATIC_READ,GL_STATIC_COPYGL_DYNAMIC_DRAW,GL_DYNAMIC_READ,GL_DYNAMIC_COPYGL_STREAM_DRAW,GL_STREAM_READ,GL_STREAM_COPY"Static”意味着VBO中的数

2017-05-31 10:17:43 1322

转载 视频名词解析

码流 / 码率      码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,是视频编码中画面质量控制中最重要的部分,一般我们用的单位是kb/s或者Mb/s。一般来说同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越大,数据流,精度就越高,处理出来的文件就越接近原始文件,图像质量越好,画质越清晰,要求播放设备的解

2017-05-29 12:26:19 687

转载 YUV数据格式

YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交存储的。YUV码流的存储格式其实与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0用三个图来直观地表示采

2017-05-29 11:01:05 480

转载 RGB与YUV对比

RGB和YUV都是色彩空间,用于表示颜色,两者可以相互转化。与我们熟知的RGB类似,YUV也是一种颜色编码方法,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。YUV码流的存储格式其实与

2017-05-29 10:31:29 6981

转载 音视频格式区分

1.     视频播放器原理视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。他们的过程如图所示。 解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RT

2017-05-28 13:18:13 2458

转载 H264(NAL简介与I帧判断)

1、NAL全称Network Abstract Layer, 即网络抽象层。         在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。因此我们平时的每帧数据就是一个NAL单元(SPS与PPS除外)。在实际的

2017-05-28 13:11:08 589

转载 git clone remote fetch pull push等操作

转载地址:http://www.ruanyifeng.com/blog/2014/06/git_remote.htmlGit有很多优势,其中之一就是远程操作非常简便。本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作。git clonegit remotegit fetchgit pullgit push本文针对初

2017-05-09 19:48:43 249

转载 OpenGL 镜面反射光

转载地址:http://www.2cto.com/kf/201611/561551.html背景我们在计算环境光的时候,光的强度是唯一的影响因素。然后处理漫射光的时候公式中加入了光的方向参数。镜面反射包含了上面所有的综合因素并且添加了一个新的元素:观察者的位置。镜面反射时光以一定角度照射到物体表面,同时会在法线的另一侧对称的角度上反射出去,如果观察者刚好在反射光线的路径上那

2017-05-07 17:08:12 1667

转载 OpenGL光源光照使用范例

1. 光照模型     环境光——经过多次反射而来的光称为环境光,无法确定其最初的方向,但当特定的光源关闭后,它们将消失.全局环境光——每个光源都能对场景提供环境光。此外,还有一个环境光,它不来自任何特定的光源,称之为全局环境光。这也就是为什么我们不加任何自定义光源,也能看见绘制的物体的原因。散射光——来自同一方向,照射到物体表面后,将沿各个方向均匀反射,因此,无论从哪个方向观

2017-05-07 17:04:55 1025

转载 如何检查 Android 应用的内存使用情况

Android是为移动设备而设计的,所以应该关注应用的内存使用情况。尽管Android的Dalvik虚拟机会定期执行垃圾回收操作,但这也不意味着就可以忽视应用在何时何处进行内存分配和释放。为了提供良好的用户体验,做到系统在不同应用间流畅切换,当用户和应用无交互时,避免应用不必要的内存消耗是很重要的。尽管在开发过程中很好的遵守了《管理应用内存》(Managing Your App Memor

2017-05-03 16:18:16 394

转载 Android最佳性能实践(一)——合理管理内存

转载出处:http://blog.csdn.net/guolin_blog/article/details/42238633内存(RAM)对于任何一个软件开发环境都是种非常珍贵的资源,而对于移动操作系统来讲的话,则会显得更加珍贵,因为手机的硬件条件相对于PC毕竟是比较落后的。尽管Android系统的虚拟机拥有自动回收垃圾的机制,但这并不代表我们就可以忽视应该在什么时候分配和释放内存。

2017-05-03 16:03:45 197

空空如也

空空如也

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

TA关注的人

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