随笔分类 - android提高篇
摘要:使用过Android的同学,尤其是用过山寨pad,应该对Android的重启问题印象深刻吧。Android由于其设计的复杂性,可能会使得系统在不经意时陷入异常状态,因此Android设计了一套看门狗机制,当检测到问题后,自动重启。再说说我碰到的问题吧,刚带起Android的时候,android的重启...
阅读全文
摘要:System_Server进程运行在system server进程中的服务比较多,这是整个android框架的基础Native服务SurfaceFlinger这是framebuffer合成的服务,将各个应用程序及应用程序中的逻辑窗口图像数据(surface)合成到一个物理窗口中显示(framebuf...
阅读全文
摘要:这个bug,是google自带的问题。 和见到的诸多android的疑难问题一样,这又是一个可以归类为 多线程同步/状态机 问题。问题处在NuPlayer的异步消息的handle中,现象和原因不细说了,被此BUG纠结的头大的,应该一看就明白。重现步骤:反复进入、退出html5的流媒体播放 (浏览器的...
阅读全文
摘要:1. Log信息级别Log.v- VERBOSE : 黑色Log.d- DEBUG : 蓝色Log.i- INFO : 绿色Log.w- WARN : 橙色Log.e- ERROR : 红色从上而下级别逐次增加2. 过滤:指定标签,指定级别adb logcat [TAG:LEVEL ][TAG:LE...
阅读全文
摘要:后续计划性能优化——诊断及工具(目前只有关于TraceView的介绍)、性能优化——内存篇、性能优化——JNI篇,性能优化——电量篇。2、何为性能问题在性能测试中存在两个概念:(1). 响应时间指从用户操作开始到系统给用户以正确反馈的时间。一般包括逻辑处理时间 + 网络传输时间 + 展现时间。对于非...
阅读全文
摘要:一个网络请求可以简单分为连接服务器 -> 获取数据两个部分。其中连接服务器前还包括 DNS 解析的过程;获取数据后可能会对数据进行缓存。一、连接服务器优化策略1. 不用域名,用 IP 直连省去 DNS 解析过程,DNS 全名 Domain Name System,解析意指根据域名得到其对应的 IP ...
阅读全文
摘要:1、降低执行时间这部分包括:缓存、数据存储优化、算法优化、JNI、逻辑优化、需求优化几种优化方式。(1). 缓存缓存主要包括对象缓存、IO缓存、网络缓存、DB缓存,对象缓存能减少内存的分配,IO缓存减少磁盘的读写次数,网络缓存减少网络传输,DB缓存较少Database的访问次数。在内存、文件、数据库...
阅读全文
摘要:1、抽象布局标签(1) 标签include标签常用于将布局中的公共部分提取出来供其他layout共用,以实现布局模块化,这在布局编写方便提供了大大的便利。下面以在一个布局main.xml中用include引入另一个布局foot.xml为例。main.mxl代码如下:Java1234567891011...
阅读全文
摘要:1、索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率。(1). 优点大大加快了数据库检索的速度,包括对单表查询、连表查询、分组查询、排序查询。经常是一到两个数量级的性能提升,且随着数据数量级增长。(2...
阅读全文
摘要:一、性能瓶颈点整个页面主要由6个Page的ViewPager,每个Page为一个GridView,GridView一屏大概显示4*4的item信息(本文最后有附图)。由于网络数据获取较多且随时需要保持页面内app下载进度及状态,所以出现以下性能问题a. ViewPager左右滑动明显卡顿b. Gri...
阅读全文
摘要:Android性能检测traceview的使用方法1. 把android-sdk-windows\tools路径加到Path当中2. 编写测试代码:[java]view plaincopypackagecom.wwj.traceview;importjava.util.ArrayList;impor...
阅读全文
摘要:前面唠叨最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方。因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界面下方数据指标的值代表什么意思…以前我用StopWatch类来分析性能,现在觉得弱爆...
阅读全文
摘要:问题如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth、getMeasuredWidth不就可以获得了吗,但是,事实上是并没有简单的,不信的话,你可以去试一下,在onCreate里面,你是无法获得长宽值的,始终为0。原因这是为什么呢...
阅读全文
摘要:在Android2.3中增加了对音频混响的支持,这些API包含在android.media.audiofx包中。 一、概述 AudioEffect是android audio framework(android 音频框架)提供的音频效果控制的基类。开发者不能直接使用此类,应该使用它的派生类。 ...
阅读全文
摘要:根据Android的层次结构,性能优化也是分层次进行的,本文会分别对Application、Framework、Native、Kernel各层做总结,每层主要会从性能优化的基本思想、优化技巧、优化工具几个方面进行说明。第一章Android应用性能优化(概述) 应用程序的性能问题是最明显、最容易体现...
阅读全文
摘要:一、关键概念:Generic Attribute Profile (GATT)通过BLE连接,读写属性类小数据的Profile通用规范。现在所有的BLE应用Profile都是基于GATT的。Attribute Protocol (ATT)GATT是基于ATT Protocol的。ATT针对BLE设备...
阅读全文
摘要:老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了:1、onInterceptTouchEvent()是用于处理事件(类似于预处理,当然也可以不处理)并改变事件的传递方向,也就是决定是否允许Touch事...
阅读全文
摘要:这是一种可以创建多线程消息的函数使用方法:1,首先创建一个Handler对象Handler handler=new Handler();2,然后创建一个Runnable对象Runnable runnable=new Runnable(){ @Override public void run() { ...
阅读全文
摘要:上一篇文章讲到了广播之前系统需要进行的准备工作,那接下来我们就来真正的启动广播。首先还是先看一下上一篇文章结束的地方:@Override public void onClientRegistered(int status, int clientIf) { Log.d(TAG, "onCl...
阅读全文
摘要:转载请表明作者:http://blog.csdn.net/lansefeiyang08/article/details/46482073昨天写了android L BLE Peripheral的简单使用,今天讲一下BLE Central的更新。搞过android4.4的人肯定对BluetoothAd...
阅读全文

浙公网安备 33010602011771号