JackPeng

Keep on going never give up

Linux C从入门到进阶

Linux C 和Windows C 标准C,ANSI-C Windows C Linux C GCC 编译器 GNU编译器套件(GNU Compiler Collection) GNU:是GNU is Not Unix的递归缩写,即类Unix操作系统 Linux:Linux Is Not UniX PNG:PNG’s Not GIF RPM:RPM Package...

Android StriceMode使用详解

StrictMode意思为严格模式,是用来检测程序中违例情况的开发者工具。使用一般是场景是检测主线程中本地磁盘和网络读写等耗时的操作。注意这个StrictMode是在Anroid2.3以后引入的。严格模式主要检测两大问题,一个是线程策略,即TreadPolicy,另一个是VM策略,即VmPolicy。 线程策略(ThreadPolicy)检测的内容有 1、自定义的耗时调用 使用de...

c的free和c++的delete的区别

首先free对应的是malloc;delete对应的是new;free用来释放malloc出来动态内存,delete用来释放new出来的动态内存空间。 应用的区别为: 数组的时候int p=(int)malloc(10*sizeof(int)) 释放的时候 free(p)即可;这是因为编译器对malloc做了一些特殊的处理,以保证可以正确释放内存。而当int *p=new...

AndroidJNI 通过C++调用JAVA

1. JNIEnv对象      对于本地函数    JNIEXPORT void JNICALL Java_video1_TestNative_sayHello(JNIEnv * env, jobject obj)    {         cout<<"Hell...

Sublime使用技巧

参考:https://github.com/happypeter/happysublime 正确的 sublime 使用方式 编辑工作是非常复杂的,可以用到的技巧会很多。一个好的编辑器,必然是对这些技巧有比较好的抽象模型,只要用户理解了这个模型,就会很容易用活这个编辑器了,否则大量的技巧就会显得很杂乱。 总的来说一句话,正确使用 sublime 的方式就是:多用快捷键,少用鼠标点...

GCC与Cmake的关系

1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。 2.当你的程序只有一个源文件时,直接就可以用gcc命令编译它。 3.但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大 4.所以出现了make工具...

Camera使用记录

前言首先,本文主要以 android.hardware.Camera 包来叙述内容,其实Google官方已经把其作为Deprecated的了,但由于新的包 android.hardware.camera2 需要最低API level 21,即需要Android 5.0以上,且国内很多厂商对这个接口的支持并不好,因此暂不考虑(主要内容其实变化不大)有兴趣的同学,可以看...

ThreadLocal 原理

ThreadLocal 可以把一个对象保存在指定的线程中,对象保存后,只能在指定线程中获取保存的数据,对于其他线程来说则无法获取到数据。日常开发中 ThreadLocal 使用的地方比较少,但是系统在 Handler 机制中使用了它来保证每一个 Handler 所在的线程中都有一个独立的 Looper 对象,为了更好的理解 Handler 机制,这篇文章来说说 ThreadLocal 的原理...

使用MAT比较多个heap dump文件

 使用MAT比较多个heap dump文件 调试内存泄露时,有时候适时比较2个或多个heap dump文件是很有用的。这时需要生成多个单独的HPROF文件。下面是一些关于如何在MAT里比较多个heap dumps的内容(有一点复杂):1.     第一个HPROF 文件(u...

Android中Enum的替代方案

在Android的官方文档的内存管理中http://developer.android.com/training/articles/memory.html#Overhead 提到由于Enum通常需要两倍以上的存储空间,因此应当尽量避免Enum的使用。对此,Google官方推出了IntDef作为对Enum的替代。以下通过一个具体的例子来说明其用法: 例如我们有如下的一组Enum: publi...