- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 PathDexClassLoader 和 DexClassLoader 区别
PathDexClassLoader 和 DexClassLoader 区别PathClassLoader:Provides a simple ClassLoader implementation that operates on a list of files and directories in the local file system, but does not attem
2017-05-08 22:01:39 626
原创 so 库的动态加载
so 库的动态加载 在客户端开发过程中,有些时候在考虑到效率的时候不可避免的会用到java调用c以此来解决一些效率的问题,但是不可避免的,需要编译很多个平台的so文件,可能就会造成app文件过大,所以有时候需要采用其他方式来加载so文件。通常我们在开发中遇到要加载本地方法时会这么写 static { System.loadLibrary("nat
2017-04-06 21:52:03 5893
原创 apk 目录结构
apk 目录结构 apk,即 Android application package,是android应用的简称。android 手机安装的应用都是以apk的形式来进行的。它其实是将开发过程中的各种资源文件,代码,so库,配置文件一起打包,签名,进行编译处理。他实质上是个压缩包,将后缀改为zip,解压出来可以看到他的目录结构。这个是淘宝的apk解压后的目录。
2017-04-06 20:03:12 2652
原创 java 类加载原理分析
java 类加载原理分析 java 所有的代码都是要经过编辑成 class 文件,也就是class文件才能被虚拟机识别,在被虚拟机加载的过程 需要完成下面3步通过一个类的全限定名来获取其定义的二进制字节流。将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。在 Java 堆中生成一个代表这个类的 java.lang.Class 对象,作为对方法区中这些数据的访问入口
2017-03-31 08:34:43 1876
原创 视频控件带滑动调节(声音,亮度,快进)
主要是将功能和界面展示分离,并提供皮肤定制功能。采用面向接口编程方式。整体思路:控制器控制所有业务逻辑,界面只和控制器之间做相互通信,播放器的载体(activity/或者其他载体)通过控制器来操作播放器不直接控制页面。整体如下图所示控制器核心接口类,这个是控制器接口,同时这些是需要对外提供的方法,需要载体可以直接调用暂停,恢复 等一系列操作。以下是用Medi
2017-03-28 22:12:43 2070
原创 findviewbyid和注解方式的自动生成工具
findviewbyid和注解方式的自动生成工具 android开发中有很多是无意义的体力活,其中一项不能省去的就是findviewbyid,所以呢也有许多自动生成的代码工具,但是总之给人的感觉就是不太符合自己的编码风格就自己写了个拿出来纪录一下。 1.首先感谢一下 http://android.lineten.net/layout.php 网站的作者,这个会自
2016-10-16 21:32:26 1085
原创 idea 构建spring 项目
idea 构建spring 项目 最近由于一直觉得一些工具不好用,需要重写一下,用的由是Mac,理所当然的就用idea了,spring 是一个比较流行的轻量java web框架,就尝试了一下,果然方便了很多,主要参考了 https://my.oschina.net/gaussik/blog 的 使用IntelliJ IDEA开发SpringMVC网站系列,感谢一下。
2016-10-16 14:43:26 608
翻译 Inside this Linux boot process
linux 系统引导程序由几个部分组成。但是无论是x86 引导还是 嵌入式pc引导,他们的引导流程都是非常相似的。这这篇文章介绍linux 引导程序从初始化到开启第一个用户空间应用。然后,在回顾每个开启细节,比如引导加载,内核解压,初始化ram磁盘,和一些其它的linu加载。 早期的计算机引导是加载一些包涵引导程序的纸带,或者是通过加载一些包
2016-06-19 15:36:21 400
原创 Android view绘制流程
一直都对android 中的窗口展示到绘制非常感兴趣,之前一直比较忙,所以这个就搁置下来了,现在有空就对这个整理一下,希望对自己和他人能有帮助。 在之前文章中在activity启动流程中有说到 activity开始调用绘制方法是在handlerResumeActivty方法中,1234567891011121314if(r.window==null&&!a.mFin
2016-05-29 18:25:41 298
原创 Mac Android 源码下载 编译 运行 Android6.0.1
其实之前也有下载过完整的android 源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西 官网上面都有。http://source.android.com/ 这个是网址,英文不错的朋友可以直接看这个,还有点想说,现在都6.0.1了 如果编译旧的版本好多东西都需要重新改, 建议编译6.0.1 比较省力,当然看各自的需求了。
2016-05-12 00:06:07 1522
原创 Activity setContentView(int layoutResID) 发生了什么
在写activity时,一般用setContentView 来设置界面。public void setContentView(int layoutResID) { getWindow().setContentView(layoutResID); initActionBar();}/** * Retrieve the current {@link
2016-04-23 22:01:36 1145
原创 AbsListView 浅析
Base class that can be used to implement virtualized lists of items. A list does not have a spatial definition here. For instance, subclases of this class candisplay the content of the list in a g
2016-04-17 18:00:19 6531
原创 ui更新机制杂谈
主要是想到了 之前的问题,android 2.2时候 的系统和现在的系统,2.2之前即使直接在子线程更新也是可以的,现在除了个别的控件其他的都要放在主线程里面更新。就分析一下ProgressBar是可以在自线程更新 就以ProgressBar为例ProgressBar设置进度的方法public synchronized void setProgress(int
2016-03-28 20:05:53 1031
原创 activity的几个相关类
android 中主要对activity管理的几个相关类。ActivityRecord:通常的的 我们用的activity都是以继承activity的形式出现,但是在系统中,每个 activity都是以activity record的形式出现,这个类包涵了 activity的各种信息。ActivityThread:负责管理并执行主线成中的
2016-03-20 16:01:43 2105
原创 点击动画 波纹效果 主要用来做引导动画
自定义类/** * Created by guoxinggen on 16/3/14. * 点击效果view */public class ClickAnimationView extends FrameLayout { private ImageView clickView; private ImageView spreadView; p
2016-03-15 14:04:15 1920 1
原创 从 startActivity 看activity启动流程
没有从 系统启动流程分析,只是通过应用启动简单的分析一下。启动一个activity 一般是通过本activity 直接调用 startActivity方法开启。首先调用@Overridepublic void startActivity(Intent intent) { //调用这个方法其实到最后会调用到 startActivityForResult(In
2016-03-11 23:13:50 2667
原创 浅析 linux内存模式
看linux有一段时间了,也许是因为本身是非计算机专业的原因,感觉有许多东西都差了好多,好多东西都似是而非的。今天正好把linux内存模式总结一下。在linux0.11内核代码中,使用的是分段加分页机制来实现对内存的管理。为什么采用分段机制:由于intel 80x86芯片,内部有20根地址线,他的寻址范围也就是2的20次方,也就是1M的空间,但是16位的cpu存
2014-04-26 14:07:30 667
原创 浅析Linux内核结构和模式
浅析Linux内核模式与结构 我眼中一个完整的操作系统:硬件,操作系统内核,操作系统服务,和用户应用程序。 硬件和用户应用程序不多说。 操作系统服务:向用户提供被看做是操作系统的部分功能的程序。Linux操作系统上,这些程序包括X窗口系统,shell命令解释系统以及那些内核编程接口等系统程序。 操作系统内核程序:主要是指用于对硬件资源的抽象和访问调
2014-02-08 15:52:33 843
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人