
android
文章平均质量分 61
lzhang616
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
防止线程因系统休眠而挂起
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); //设置线程可后台运行,不会因为系统休眠而挂起原创 2015-03-30 17:16:23 · 1557 阅读 · 0 评论 -
Volley框架的流程图分析
Volley框架的流程图分析 接着上一篇Volley框架的使用,这一篇主要主要讲Volley框架运作的原理。主要使用流程图来叙述,简单的分析了整个流程的过程,具体的请参考源代码或者查看我上一篇在文章末尾添上的链接。 一、Volley的准备生成一个RequestQueue的队列。 二、用户添加Request 三、阻塞线程转载 2015-03-30 17:56:59 · 154 阅读 · 0 评论 -
Android应用开发:网络工具——Volley(一)
引言网络一直是我个人的盲点,前一阵子抽出时间学习了一下Volley网络工具的使用方法,也透过源码进行了进一步的学习,有一些心得想分享出来。在Android开发中,成熟的网络工具不少,Android自带了HttpClient,还有okhttp,还有koush大神创建的ion开源项目,然后就是google后来加入到Android项目源码中的Volley。为什么使用Volley,是因转载 2015-03-30 17:54:33 · 530 阅读 · 0 评论 -
解决fragment嵌套fragment会崩溃的问题
/** * 这段可以解决fragment嵌套fragment会崩溃的问题 */ @Override public void onDetach() { super.onDetach(); try { //参数是固定写法 Field childFragmentManager原创 2015-03-03 14:49:07 · 1830 阅读 · 0 评论 -
Android Dimension转换算法原理分析
最近在做深度主题,要实现类似小米那种在主题包中设置dimension值,然后在系统中替换原值的功能。特地研究了一下Android系统中dimension类型的值的存储方式以及相关的转换算法。 在Android中,我们可以在values文件夹中定义各种资源,其中有一种就是dimension。dimension是一个包含单位(dp、dip、sp、pt、px、mm、in)转载 2015-01-29 16:07:03 · 829 阅读 · 0 评论 -
Android 插件化 动态升级
最新内容请见原文:Android 插件化 动态升级 不少朋友私信以及 Android开源交流几个 QQ 群 中都问到这个问题,这里简单介绍下1、作用大多数朋友开始接触这个问题是因为 App 爆棚了,方法数超过了一个 Dex 最大方法数 65535 的上限,从这个介绍中也知道可以通过多个 Dex 来解决这个问题,因而便有了插件化的概念,将一个 App 划分为多个插转载 2014-10-22 17:23:45 · 601 阅读 · 0 评论 -
Android 动态加载(防止逆向编译)技术
最近工作中接到了一个研究防止逆向编译的任务.研究了几天资料,最后基本实现了防破解技术,在这个工程中,也略有一些心得体会,现整理下来分享,供大家探讨参考研究。文中如有纰漏、失实之处,请大家及时给与指正。 防破解技术主要有四种实现方式:1.代码混淆(ProGuard)技术 2.签名比对技术 3.NDK .so 动态库技术 4.动态加载技术. 参考转载 2014-09-18 14:49:53 · 729 阅读 · 0 评论 -
项目中listView常用属性设置
问题1: listview在拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来。解决办法: xml中: android:scrollingCache="false" 或者 android:cacheColorHint="#00000000" 代码中: setScrollingCacheEnabled(fals转载 2014-07-09 15:17:40 · 595 阅读 · 0 评论 -
android自定义布局中的平滑移动
无意中搜索到这篇文章,大概扫了一眼,知道是篇好文,先转载记录下来学习!文章主要讲的是自定义view的写法心得。转自:http://www.apkbus.com/android-48445-1-1.html 在android应用程序的开发过程中,相信我们很多人都想把应用的交互做的比较绚丽,比如让界面切换平滑的滚动,还有热度灰常高的伪3D等界面效果,通常情况下,系统提供转载 2014-07-01 20:29:54 · 674 阅读 · 0 评论 -
apidemos 实例解析
http://www.2cto.com/special/ApiDemos/原创 2014-03-25 11:44:42 · 739 阅读 · 0 评论 -
ANDROID 探究oom内幕
从早期G1的192MB RAM开始,到现在动辄1G -2G RAM的设备,为单个App分配的内存从16MB到48MB甚至更多,但OOM从不曾离我们远去。这是因为大部分App中图片内容占据了50%甚至75%以上,而App内容的极大丰富,所需的图片越来越多,屏幕尺寸也越来越大分辨率也越来越高,所需的图片的大小也跟着往上涨,这在大屏手机和平板上尤其明显。而且还经常要兼容低版本的设备。所以Android的转载 2014-02-20 11:45:56 · 836 阅读 · 0 评论 -
谷歌Volley网络框架讲解——HttpStack及其实现类
HttpStack有两个实现类。其中HttpCliantStack是在2.3以下使用,Hurl是在2.3以上使用,这样分开的原因谷歌给了注释。12// Prior to Gingerbread, HttpUrlConnection was unreliable. // See: http://android-developers.b转载 2014-02-20 16:28:12 · 954 阅读 · 0 评论 -
Android应用开发:网络工具——Volley(二)
引言在Android应用开发:网络工具——Volley(一)中结合Cloudant服务介绍了Volley的一般用法,其中包含了两种请求类型StringRequest和JsonObjectRequest。一般的请求任务相信都可以通过他们完成了,不过在千变万化的网络编程中,我们还是希望能够对请求类型、过程等步骤进行完全的把控,本文就从Volley源码角度来分析一下,一个网络请求在Volley中转载 2015-03-30 17:53:49 · 628 阅读 · 0 评论 -
Volley 源码解析
转自:https://github.com/android-cn/android-open-project-analysis/tree/master/volleyVolley 源码解析本文为 Android 开源项目源码解析 中 Volley 部分项目地址:Volley,分析的版本:35ce778,Demo 地址:Volley Demo分析者:grumoon,校转载 2015-03-30 17:56:01 · 569 阅读 · 0 评论 -
shou shen ji hua
1. 删除无用资源,使用Lint;Analyze -> Run Inspection by Name -> Unused resources 2. 一些资源文件差别很小,比如箭头icon只是方向上的差别,这种资源可以通过代码手段处理得到,只需提供一份,不需要多份; 3.业务线提供的aar没有做混淆和代码压缩,导致业务线中没有被使用原创 2017-01-18 15:57:07 · 884 阅读 · 0 评论 -
Android性能优化之如何避免Overdraw
什么是Overdraw?Overdraw就是过度绘制,是指在一帧的时间内(16.67ms)像素被绘制了多次,理论上一个像素每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67ms时,就会出现掉帧现象,也就是我们所说的卡顿,所以对重叠不可见元素的重复绘制会产生额外的开销,需要尽量减少Ove转载 2016-03-07 15:12:33 · 527 阅读 · 0 评论 -
Android中RelativeLayout和LinearLayout性能分析
先看一些现象吧:用eclipse或者Android studio,新建一个Activity自动生成的布局文件都是RelativeLayout,或许你会认为这是IDE的默认设置问题,其实不然,这是由 android-sdk\tools\templates\activities\BlankActivity\root\res\layout\activity_simple.xml.ftl 这个文件事先就定原创 2016-03-07 14:43:05 · 844 阅读 · 0 评论 -
android Jvm 笔记。内存溢出。内存区域划分。垃圾回收气
native 溢出 也就是 direct memory 内存溢出 直接内存,不是虚拟机内存。是系统内存。是因为 申请的内存在 direct memory 中,垃圾回收进行时,会对 direct memory 进行回收。但是direct memory 不能像,新生代,老年代那样,发现内存控件不足了就通知收集器进行垃圾回收,他只能等待 老年代 满了后 Full GC,然后 “顺带着”帮原创 2015-08-26 18:02:55 · 1023 阅读 · 0 评论 -
Android触摸屏事件派发机制详解与源码分析三(Activity篇)dispatchtouchevent,ontouch,ontouchevent,onclick
【工匠若水 http://blog.youkuaiyun.com/yanbober】该篇承接上一篇《Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)》,阅读本篇之前建议先阅读。原创 2015-08-04 11:11:23 · 610 阅读 · 0 评论 -
Android应用setContentView与LayoutInflater加载解析机制源码分析
【工匠若水 http://blog.youkuaiyun.com/yanbober 转载烦请注明出处,尊重分享成果】1 背景其实之所以要说这个话题有几个原因:理解xml等控件是咋被显示的原理,通常大家写代码都是直接在onCreate里setContentView就完事,没怎么关注其实现原理。前面分析《Android触摸屏事件派发机制详解与源码分析三(Activity篇)》时提到了一些关转载 2015-08-04 11:16:08 · 580 阅读 · 0 评论 -
Android触摸屏事件派发机制详解与源码分析一(View篇)onTouch,onClick,ontouchevent
PS一句:最终还是选择优快云来整理发表这几年的知识点,该文章平行迁移到优快云。因为优快云也支持MarkDown语法了,牛逼啊!【工匠若水 http://blog.youkuaiyun.com/yanbober】Notice:阅读完该篇之后如果想继续深入阅读Android触摸屏事件派发机制详解与源码分析下一篇请点击《Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)》原创 2015-08-04 11:06:02 · 484 阅读 · 0 评论 -
Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)dispatchtouchevent,ontouch,ontouchevent,onclick
【工匠若水 http://blog.youkuaiyun.com/yanbober】该篇承接上一篇《Android触摸屏事件派发机制详解与源码分析一(View篇)》,阅读本篇之前建议先阅读。当然,阅读完这一篇之后可以阅读继续进阶的下一篇《Android触摸屏事件派发机制详解与源码分析三(Activity篇)》。原创 2015-08-04 11:10:23 · 612 阅读 · 0 评论 -
Android内存泄漏研究
概念根搜索算法Android虚拟机的垃圾回收采用的是根搜索算法。GC会从根节点(GC Roots)开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾,会被GC回收掉。根搜索算法相比引用计数法很好的解决了循环引用的问题。举个例子,Activity有View的引用,View也有Activity的引用,之前我还尝试去源代码里找Activity何时和原创 2015-08-19 16:56:03 · 1215 阅读 · 0 评论 -
Android访问网络,使用HttpURLConnection还是HttpClient?
大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作,HttpURLConnection和HttpClient。这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配置超时时间、IPv6、以及连接池等功能。HttpClientDefaultHttpClient和它的兄弟AndroidHt转载 2015-05-06 17:35:25 · 568 阅读 · 0 评论 -
Spannable简介,设置个别字的颜色、字体等
TextView和EditText是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。使用步骤:SpannableString spannable = new SpannableString(str);// SpannableStringBuilder sp原创 2015-04-10 15:08:17 · 935 阅读 · 0 评论 -
adb Android中如何查看内存
adb shell getpropadb logcat >>原创 2014-02-27 10:56:42 · 3793 阅读 · 0 评论 -
ADB用法
ADB用法 2012-04-01 12:47:20| 分类: 默认分类|举报|字号 订阅ADB (Android Debug Bridge)说明:下面一些命令需要有root权限才能执行成功快速启动dos窗口执行adb:1. adb.exe所在路径添加到系统环境变量中2. 配置快捷键启动dos进入C:\WINDOWS\system32目录下,找到转载 2014-02-27 11:05:33 · 807 阅读 · 0 评论 -
戏说Android view 工作流程《上》
view基本认识回想你第一次看到Android设备时,上面各种酷炫的应用和游戏是不是让多年使用塞班手机的你感到amazing?能看到这篇文章说明你现在的工作多少和android开发相关。或许你是跟着教程写了一个HelloWold运行在模拟器或者真机上,结果出来的瞬间会有些自豪。心想着自己也是会android应用开发的人了。接着可能陆陆续续的写了几个小Demo,这时候对andro转载 2014-01-06 17:29:49 · 763 阅读 · 0 评论 -
android service后台服务进程的自启动和保持不被杀了
Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务。而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持,就会被其杀掉。在早些时候,我们可以通过在1. service中重写onStartCommand方法,这个方法有三个返回值, START_STICKY是service被kill掉后原创 2013-08-09 16:57:08 · 5359 阅读 · 2 评论 -
Android 网络通信框架Volley简介(Google IO 2013)
1. 什么是Volley在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。这是Volley名称的由来:转载 2013-08-09 16:38:40 · 998 阅读 · 0 评论 -
Android 保存图片到系统及相关问题的解决方案
在应用的图集中,通常会给用户提供保存图片的功能,让用户可以将自己喜欢的图片保存到系统相册中.这个功能其实很好做,系统提供了现成的API:简单的来说就这一行代码:[java] view plaincopyMediaStore.Images.Media.insertImage(getContentResolver(), mBi翻译 2013-08-09 16:23:28 · 714 阅读 · 0 评论 -
Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题
在Android系统中,BroadcastReceiver的设计初衷就是从全局考虑的,可以方便应用程序和系统、应用程序之间、应用程序内的通信,所以对单个应用程序而言BroadcastReceiver是存在安全性问题的,相应问题及解决如下:1、当应用程序发送某个广播时系统会将发送的Intent与系统中所有注册的BroadcastReceiver的IntentFilter进行匹配,若匹配成功则转载 2013-08-09 16:20:58 · 746 阅读 · 0 评论 -
Android中VelocityTracker类的介绍
用来追踪触摸事件(flinging事件和其他手势事件)的速率。用obtain()函数来获得类的实例,用addMovement(MotionEvent)函数将motionevent加入到VelocityTracker类实例中,当你使用到速率时,使用computeCurrentVelocity(int)初始化速率的单位,并获得当前的事件的速率,然后使用getXVelocity()或getXVeloci原创 2013-05-19 18:02:29 · 623 阅读 · 0 评论 -
MotionEvent中getX()和getRawX()的区别
首先我们通过一个button进行一下测试,可以知道: Java代码 public class Res extends Activity implements View.OnTouchListener { Button btn = null; int x = 0; int y = 0; int rawx原创 2013-05-18 16:57:19 · 663 阅读 · 0 评论 -
Android 中Odex文件生成与合并
一、APK生成odex文件方法: 编译开源GIT上的build/tools/dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤 将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux命令行,使用cd命令进入/data/local目录, cd /data/local转载 2013-01-16 21:13:28 · 578 阅读 · 0 评论 -
Android 手机上获取物理唯一标识码
唯一标识码这东西在网络应用中非常有用,例如检测是否重复注册之类的。import android.provider.Settings.Secure;private String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID); 我们在项目过程中或多或少会原创 2013-01-04 11:56:08 · 653 阅读 · 0 评论 -
Android SD卡路径问题以及如何获取SDCard 内存
在研究拍照后突破的存储路径的问题,开始存储路径写死为: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽然一般不会出错,但不是很好,因为不同相机,可能路径会出问题。较好的方法是通过Environment 来获取路径,最后给出一个例子,教你怎样获取SDCard 的内存,显示出来告诉用户。讲述的内容如下:原创 2012-12-28 16:32:43 · 787 阅读 · 0 评论 -
Android Layout 之 RelativeLayout
使用 AbsoluteLayout 可以直接指定其子 View 的绝对位置, 这种布局方式虽然简单,但是不够灵活。比如在一个程序中,按钮2 位于 按钮1 的下方且和 按钮1 左对齐,我们可以使用指定两个按钮的绝对位置的方式布局,但是当布局完成后,由于某些原因,这两个按钮需要相左平移一些距离以便在父 View 右边留出一些空白区域,那么我们就需要同时修改 按钮1 和 按钮2 的 layout pa原创 2012-11-06 17:25:56 · 399 阅读 · 0 评论 -
Android中mesure过程详解 (结合Android 4.0.4 最新源码)
如何遍历并绘制View树?之前的文章Android中invalidate() 函数详解(结合Android 4.0.4 最新源码)中提到invalidate()最后会发起一个View树遍历的请求,并通过执行performTraersal()来响应该请求,performTraersal()正是对View树进行遍历和绘制的核心函数,内部的主体逻辑是判断是否需要重新测量视图大小(measure),是否需原创 2012-10-22 15:12:46 · 470 阅读 · 0 评论 -
View和ViewGroup
作过Android 应用开发的朋友都知道,Android的UI界面都是由View和ViewGroup及其派生类组合而成的。其中,View是所有UI组件的基类,而ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的。AndroidUI界面的一般结构可参见下面的示意图:可见,作为容器的ViewGroup可以包含作为叶子节点的View,也可以包含作为更低层次的子View原创 2012-09-05 15:49:27 · 444 阅读 · 0 评论