文章分类 - Android
摘要:默认情况下 activity 启动的时候先把屏幕刷成白色,再绘制界面,绘制界面或多或少有点延迟,这段时间中你看到的就是白屏,显然影响用户体验,怎么消除呢?在 Activity theme 设置style 即可: 其实就是把默认的窗口背景设为透明色。接着设置应用的theme属性: ...
阅读全文
摘要:这里针对如何获取Android thumbnails的缩略图以及如何和原始图片关联。先看一下手机内部SDcard中的Thumbnail文件,使用adb shell 下的 ls -a 命令显示隐藏文件。提取图片和视频的缩略图可以直接访问:android.provider.MediaStore.Imag...
阅读全文
摘要:判断当前task中的运行的activity是否为当前应用,是就pass,否则打开应用主界面。String packageName = this.getPackageName();/*** 检测某Activity是否在当前Task的栈顶*/public boolean isTopActivy(Stri...
阅读全文
摘要:ActivityManager在操作系统中有重要的作用,本文利用操作系统源码,逐步理清ActivityManager的框架,并从静态类结构图和动态序列图两个角度分别进行剖析,从而帮助开发人员加强对系统框架及进程通信机制的理解。ActivityManager的作用参照SDK的说明,可见Activity...
阅读全文
摘要:.binder通信概述 binder通信是一种client-server的通信结构, 1.从表面上来看,是client通过获得一个server的代理接口,对server进行直接调用; 2.实际上,代理接口中定义的方法与server中定义的方法是一一对应的; 3.client调用某个代理接口中的方法时...
阅读全文
摘要:onInterceptTouchEvent()用于处理事件并改变事件的传递方向。处理事件这个不用说了,你在函数内部编写代码处理就可以了。而决定传递方向的是返回值,返回为false时事件会传递给子控件的onInterceptTouchEvent();返回值为true时事件会传递给当前控件的onTouc...
阅读全文
摘要:每个应用程序安装后,系统便会为其分配一个独立的存储空间,所谓的“Security Sandbox”,用于存放字节码文件、资源文件及配置文件等,同时,系统会为每一个应用程序分配唯一的ID,用以标识该应用程序的相关文件和资源,系统通过设置权限从而实现一个应用程序在一般情况下只能访问该应用程序的文件和资...
阅读全文
摘要:Android的触摸事件:onClick, onScroll, onFling等等,都是由许多个Touch组成的。其中Touch的第一个状态肯定是ACTION_DOWN, 表示按下了屏幕。之后,touch将会有后续事件,可能是:ACTION_MOVE //表示为移动手势ACTION_UP //表示为...
阅读全文
摘要:在前面几篇文章当中,我们学习了如何通过合理管理内存,以及高性能编码技巧的方式来提升应用程序的性能。然而实际上界面布局也会对应用程序的性能产生比较大的影响,如果布局写得糟糕的话,那么程序加载UI的速度就会非常慢,从而造成不好的用户体验。那么本篇文章我们就来学习一下,如何通过优化布局来提供应用程序的性能...
阅读全文
摘要:在前两篇文章当中,我们主要学习了Android内存方面的相关知识,包括如何合理地使用内存,以及当发生内存泄露时如何定位出问题的原因。那么关于内存的知识就讨论到这里,今天开始我们将学习一些性能编码优化的技巧。这里先事先提醒大家一句,本篇文章中讨论的编码优化技巧都是属于一些“微优化”,也就是说即使我们都...
阅读全文
摘要:由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内。虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存。即使我们全部按照上一篇文章中给出的编程建议来去编写程序,还是会很有可能出现内存泄露或其它类型的内存问...
阅读全文
摘要:内存(RAM)对于任何一个软件开发环境都是种非常珍贵的资源,而对于移动操作系统来讲的话,则会显得更加珍贵,因为手机的硬件条件相对于PC毕竟是比较落后的。尽管Android系统的虚拟机拥有自动回收垃圾的机制,但这并不代表我们就可以忽视应该在什么时候分配和释放内存。为了使垃圾回收器可以正常释放程序所占用...
阅读全文
摘要:在开发Android程序的时候,我们经常要跟Context、Activity、Application这三个类打交道,那么这个三个类之间有什么联系和区别呢?首先Activity和Application都是Context的子类。Context从字面上理解就是上下文的意思,在实际应用中它也确实是起到了管理...
阅读全文
摘要:Android applications are, at least on the T-Mobile G1, limited to 16 MB of heap. It’s both a lot of memory for a phone and yet very little for what so...
阅读全文
摘要:This document primarily covers micro-optimizations that can improve overall app performance when combined, but it's unlikely that these changes will r...
阅读全文
摘要:IntroductionMemory allocation and de-allocation in Android* always comes at a cost. The Chinese saying “Easy to be luxurious from frugal, hard to be f...
阅读全文
摘要:For those trackingthe evolution of Android, it is evident that the future of the Android based ecosystem goes far beyond just phones and tablets. The ...
阅读全文
摘要:The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a backg...
阅读全文
摘要:本文首先概述了Android的进程间通信的Binder机制,然后结合一个AIDL的例子,对Binder机制进行了解析。概述 我们知道,在Android app中的众多activity,service等组件可以运行在同一进程中,也可以运行在不同进程中。当组件运行在同一进程中进行通信就显得比较简单,在之...
阅读全文
摘要:本文首先从整体架构分析了Android整个线程间消息传递机制,然后从源码角度介绍了各个组件的作用和完成的任务。文中并未对基础概念进行介绍,关于threadLacal和垃圾回收等等机制请自行研究。基础架构 首先,我们需要从整体架构上了解一下Android线程通信都做了哪些工作。我们都知道,进程是...
阅读全文

浙公网安备 33010602011771号