Android
文章平均质量分 81
little_Kang
CS专业代码搬运工
展开
-
androd 事件分发机制的初步理解
今天看了一下android事件的分发处理机制,以前完全没有去了解过,今天算是初步了解了一下,现将一些总结一下,以便日后复习巩固,当然这只是初步的理解总结,距离深入还差很远。不对的地方,希望读者能够指出来,我会积极改正,同时谢谢大家的鼓励。 Android中与Touch事件有关的方法共三个:dispatchTouchEvent(),onInterceptTouchEvent()和onTouc原创 2015-03-13 14:44:25 · 601 阅读 · 0 评论 -
Android从按下开机键到启动发生了什么
作为一个Android开发者,了解整个系统架构是必须的,所以这篇就总结一下Android手机从按下开机键到启动这一过程发生了什么。要了解Android手机启动过程,我们先来了解一下基于linux系统的电脑从按下电源键的那一刻起,发生了什么,这样类比可以更好的理解Android手机的启动过程。基于Linux的pc启动过程我们都知道,所有的程序软件包括操作系统都是运行在内存中的,然而我们的操作系统一般是原创 2016-05-10 21:34:16 · 3135 阅读 · 0 评论 -
Webview截屏三种方式
第一种方式通过调用webview.capturePicture(),得到一个picture对象,根据图像的宽和高创建一个Bitmap,再创建一个canvas,绑定bitmap,最后用picture去绘制。//获取Picture对象Picture picture = wv_capture.capturePicture();//得到图片的宽和高(没有reflect图片内容)int width =原创 2016-03-19 10:51:31 · 4701 阅读 · 0 评论 -
使用SparseArray代替HashMap提升性能
SparseArray翻译为稀疏数组,所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采用一种压缩的方式来表示稀疏数组的内容。SparseArray主要用来替代HashMap,它比HashMap更节省内存,在某些情况下比HashMap性能更改。举个例子当这样使用HashMap原创 2016-02-19 16:17:01 · 1234 阅读 · 0 评论 -
广播机制小结
在Android系统中,广播是在组件之间传递数据(通信)的一种机制,这些组件可以是在不同的进程中,就像Binder机制一样,起到进程间通信的作用。广播机制是一种消息发布/订阅模式的事件驱动模型,消息的生产者发布事件,而使用者订阅感兴趣的事件。 Android中的广播主要分为两种: 1. 标准广播(Normal broadcasts):是一种完全异步执行的广播,当一条广播发出去以后,所有的广播原创 2016-02-19 16:12:37 · 893 阅读 · 0 评论 -
关于AsyncTask应该掌握的一切
AsyncTask是android为了方便处理子线程和UI线程的交互而封装的一个类,它内部的实现是Thread+Handler。 AsyncTask泛型类型: AsyncTask是一个抽象类,当我们要使用AsyncTask时,需要创建一个类继承自AsyncTask类,并且至少重写其中的一个方法——doInBackground(),在继承时为AsyncTask类指定三个泛型参数: 1原创 2015-11-15 10:23:16 · 1528 阅读 · 0 评论 -
Bitmap与OOM
Bitmap所造成的OOM 图片是一个很耗内存的资源,因此经常会遇到OOM。比如从本地文件中读取图片,然后在GridView中显示出来,如果不做处理,OOM就极有可能发生。Bitmap引起OOM的原因: 1. 图片使用完成后,没有及时的释放,导致Bitmap占用的内存越来越大,而安卓提供给Bitmap的内存只有8M, 当超出该内存时,自然就发生了OOM 2. 图原创 2015-11-15 10:37:52 · 1145 阅读 · 0 评论 -
Android开发要掌握的基本技能(面试常考)
Android开发岗知识点清单Java 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?2.JDK和JRE的区别是什么?“static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?Java支持的数据类型有哪些?什么是自动拆装箱?Java中的方法覆盖(Overriding)和方法重载(Overloading)是什原创 2015-10-09 11:22:40 · 3155 阅读 · 0 评论 -
android中实现截屏的三种思路
APP截屏功能三种实现思路:1. 基于Android SDK的截屏方法SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd_HH-mm-ss",Locale.US); Stringfname = "/sdcard/" + sdf.format(new Date()) + ".png";原创 2015-09-26 16:32:08 · 3634 阅读 · 0 评论 -
Android录音实现——使用AtudioRecord
最近在做android中录音录屏的功能,以前也是从未接触多媒体这块,然后从不会到一点点的摸索,参考大神们的代码,到现在算是入门了,今天就总结一下android中的录音部分,后面总结录屏。 在android中实现录音共有三种方式:通过意图捕获音频。这是android中最简单的一种方式,就是通过一个意图利用已有的、提供录制功能的应用程序。android系统中都会再带一个录音程序,我原创 2015-05-14 11:45:37 · 2674 阅读 · 2 评论 -
Service服务<一>
谷歌官方文档是学习android很好的地方,不过满篇的英文让人看着会很吃力,所以我打算将一些文档翻译出来,供大家去参考学习。当然本人的英文水平很有限,肯定有很多翻译不妥的地方,希望见谅。如果要转载,请注明出处,我会非常感激,并且努力继续做下去。概述:服务是一个应用程序组件,表示当应用程序没有和用户交互时想执行一个长时间的操作或者提供功能给其他的应用使用。每一个服务必须有相应的声明在An翻译 2015-04-19 11:35:49 · 543 阅读 · 0 评论 -
Service服务<二>
上篇:Service服务权限: 当服务在manifest的service>标签里声明时,那么这个服务就可以被全局访问执行。通过这样做,其他的应用程序可以在自己的manifest文件中通过声明相应的来开启,停止或绑定到这个服务。 自android2.3起,当使用Context.startService(intent)时,你可以通过设置Intent(意图).FLAG_GRANT_R翻译 2015-05-04 11:17:12 · 664 阅读 · 0 评论 -
Activity的四种启动模式
刚刚重新学了一下activity的四种启动模式,现在做一下小结. Standard模式 "standard" (the default mode) Default. The system creates a new instance of the activity in the task fromwhich it was started and routes the int原创 2015-03-24 19:29:19 · 616 阅读 · 0 评论 -
谷歌官方控件SwipeRefreshLayout实现下拉刷新
前一阵子,学习了一下下拉刷新,github上有很多写好的,而且有的写的很好,但是感觉很复杂,偶然间看到了SwipeRefreshLayout,谷歌官方推出的下拉刷新控件,使用起来非常方便,于是就学洗了一下。先来看官方的解释: The SwipeRefreshLayout should be used whenever the user can refresh the contents of a原创 2015-03-12 21:17:23 · 871 阅读 · 0 评论 -
Dagger2从入门到放弃再到恍然大悟
现在Dagger2在项目里用的越来越多了,最近花了些时间学习了一下Dagger2,这篇文章主要帮助理解Dagger2的注入实现过程,如有错误,还请指正!什么是Dagger2Dagger2是Dagger的升级版,是一个依赖注入框架,现在由Google接手维护。 恩,这里有个关键字依赖注入,因此我们得先知道什么是依赖注入,才能更好的理解Dagger2。依赖注入是面向对象编程的一种设计模式,其目的是为了降原创 2016-05-29 10:12:27 · 14896 阅读 · 7 评论