android基础知识
文章平均质量分 89
这个家伙很懒~
这个作者很懒,什么都没留下…
展开
-
Android中JNI编程详解
前几天在参加腾讯模拟考的时候,腾讯出了一道关于JNI的题,具体如下:JNI本身是一个非常复杂的知识,但是其实对于腾讯的这道题而言,如果你懂JNI,那么这道题会非常简单,就相当于C语言中的hello world级难度。下面就我自己翻看的一些参考书及网上的一些资料,综合自己的思考与理解,以腾讯的这道考题为例来详细讲解关于JNI的知识。JNI是Java Native Interface的原创 2016-03-30 11:13:15 · 9756 阅读 · 1 评论 -
基于寄存器与基于栈的虚拟机
什么是虚拟机虚拟机是借助于操作系统对物理机器的一种模拟。但是我们今天所讲述的虚拟机概念比较狭义,与vmware或者virtual-box不同,而是针对具体语言所实现的虚拟机。例如在JVM或者CPython中,JAVA或者python源码会被编译成相关字节码,然后在对应虚拟机上运行,JVM或CPython会对这些字节码进行取指令,译码,执行,结果回写等操作,这些步骤和真实物理机器上的概念都很相似。相转载 2017-01-09 15:59:31 · 1953 阅读 · 0 评论 -
【安卓网络请求开源框架Volley源码解析系列】定制自己的Request请求及Volley框架源码剖析
通过前面的学习我们已经掌握了Volley的基本用法,没看过的建议大家先去阅读我的博文【安卓网络请求开源框架Volley源码解析系列】初识Volley及其基本用法。如StringRequest用来请求一段文本信息,JsonRequest(JsonObjectRequest、JsonArrayRequest)用于请求一条JSON格式的数据,ImageRequest则是用于请求网络上的图片资源。但是我们原创 2016-04-11 11:00:43 · 1587 阅读 · 0 评论 -
使用百度地图实现基本的地图显示与定位功能
最近在项目中用到了地图显示与定位功能,那么毫无疑问首选百度地图,关于百度地图的基本使用在其官网介绍的十分详细,而且还附带程序Demo代码供大家参考。链接:点击打开链接。注意在自己的项目中使用百度地图需要先注册一个百度开发者账号,然后通过一些配置操作获取一个keyStore。这个不难,但是过程很琐碎,大家可以参照百度地图API官网的步骤一步一步来,这里就不详细叙述,下面给出自己项目中使用百度地图定位原创 2016-07-01 21:47:06 · 8435 阅读 · 0 评论 -
安卓中的事件分发机制之View控件
前言:Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。继承ViewGroup的大多是容器控件,如LinearLay原创 2016-03-21 10:26:53 · 1036 阅读 · 0 评论 -
安卓AsyncTack详解
我们知道安卓中的UI线程不是线程安全的,即不能在UI线程中进行耗时操作,所以我们通常的做法是开启一个子线程来进行耗时操作,然后将处理后的结果运用Handler机制传递给UI线程,在UI线程中根据处理后的结果更新界面。如从网络上获取一张图片显示到界面上的一个ImageView控件上,我们会开启一个子线程来进行网络请求获取图片,然后运用Handler告诉主线程图片已经获取到,可以刷新界面显示图片。即运原创 2016-04-24 15:29:37 · 2961 阅读 · 0 评论 -
安卓中的内存泄漏
因为安卓是基于java语言的,所以我们先来看一看java中的内存泄漏,然后在此基础上来谈谈安卓中的内存泄漏。原创 2016-04-23 11:45:44 · 5003 阅读 · 0 评论 -
【安卓网络请求开源框架Volley源码解析系列】初识Volley及其基本用法
在安卓中当涉及到网络请求时,我们通常使用的是HttpUrlConnection与HttpClient这两个类,但是因为网络请求一般是比较耗时,因此我们通常会在一个线程中来使用,但是在线程中使用这两个类时就要考虑到如何将处理结果传出去,通常的解决方法就是采用接口回调技术来解决,代码如下:public static void doGetRequest(final String uri,final原创 2016-04-10 17:02:09 · 1814 阅读 · 0 评论 -
安卓项目包命名规范及常见项目架构
在Java中我们通常把具备相同或相似功能的一些类放在同一个包中,当然 不同公司会有不同的命名方式,但大体都相同,一个好的命名应见名知义,提高代码可读性,以利于后期代码的修改与维护。下面基于我自己做项目中的一些感触谈谈自己对包命名规范的理解。一Java包命名规范1)包(packages): 采用反写域名命名规则,即com.xx.xxx.xxxx形式 全部使用小写字母。一级包名为c原创 2016-02-25 16:58:48 · 3237 阅读 · 0 评论 -
Activity与Fragment的生命周期详解
在安卓中Activity与Fragment是非常相似的两个类,它们各自都拥有自己的生命周期,且都可以用来显示布局文件中的视图。其中Activity是通过setContenView()显示视图,而Fragment是通过在onCreateView()中将布局xml文件解析为一个View然后返回该View来显示视图,也正因为具备相似的功能,所以它们的生命周期也极为相似,熟练掌握它们的生命周期是做出高效稳原创 2016-03-21 18:44:49 · 7239 阅读 · 0 评论 -
安卓四大组件总览
在安卓中四大组件 (Component)指的是:Activity,Service,BroadcastReceiver,ContentProvider。此博客仅仅对安卓中四大组件从整体上进行简单的分析,了解他们在安卓系统框架中处的位置与作用,各组件详细介绍将单独讲解。首先,我们来看一下这几个类之间各自的继承关系从上述可以看出四大组件中的Activity,Service组件都继承自Context原创 2016-02-05 10:37:27 · 1337 阅读 · 0 评论 -
安卓ListView的性能优化
在安卓APP中LIstView这个控件可以说基本上是个APP就会用到,但是关于ListView除了需要了解其最基本的用法外,作为一个要做出高性能APP的程序员还需了解一些关于LIstView控件性能优化的基本知识,下面我通过代码一步一步优化的过程来让大家了解LIstView性能优化的相关知识。一.重用converView:使用LIstView那么你肯定会重写Adapter类中的getView(原创 2016-03-20 15:07:42 · 994 阅读 · 0 评论 -
安卓图片缓存技术
概述:随着手机硬件水平的提高及摩尔效应带来的成本的降低,用户手机上的图片的分辨率越来越高,而对于移动终端而言内存存在一定的限制的,如果程序占用过高的内存,也会抛出OOM异常,降低了APP的用户体验感。另外自己做的APP应该尽可能的减少安装包的体积。本博客主要讲述通过压缩图片来减少安装包体积和通过使用图片缓存技术来高效加载大图。一 压缩图片: 在现实高分辨率图片的时候,最好先将图片进原创 2016-03-20 11:19:19 · 3613 阅读 · 0 评论 -
smali语法
smali文件格式每个smali文件都由若干条语句组成,所有的语句都遵循着一套语法规则。在smali 文件的头3 行描述了当前类的一些信息,格式如下:[java] view plaincopy.class [ 修饰关键字] .super .source 打开MainActivity.smali 文件,头3 行代码如下:[java] view plaincopy.class publi转载 2017-01-19 14:20:09 · 2221 阅读 · 0 评论