
android
文章平均质量分 81
whorus1
让时间浪费的有意义
展开
-
android编译时忽略某些error
Android在编译时可能会遇到一些无关紧要的error,我们可以通过修改编译选项忽略这种错误。比如:error: unused parameter 's' [-Wunused-parameter]这种问题可能有很多,一个个修改太麻烦。我们可以在android.mk文件中加入如下配置:LOCAL_CFLAGS += -Wno-unused-result即可忽略这种错误提醒。PS:CFLAGS简要说明:-DLOCAL_CFLAGS += -DXXX 相...原创 2021-01-15 16:16:53 · 2659 阅读 · 0 评论 -
android自动化测试-UiAutomator使用入门
为什么选择UiAutomator作为亲儿子UiAutomator随Android同步推出,随Android版本同步升级,经过多次迭代目前已经相当稳定。相比MonkeyRunner,UiAutomator接口丰富易用,可以支持所有Android事件操作,事件操作不依赖于控件坐标,可以通过断言和截图验证正确性,非常适合做UI测试。UIAutomator不需要测试人员了解代码实现细节,属于功原创 2016-04-01 13:26:47 · 4595 阅读 · 0 评论 -
android自动化测试-UiAutomator常用类
前面总结了uiautomator的使用方法:android自动化测试-UiAutomator使用入门这里对我们写脚本时常用的一些类进行总结: UiDevice类:1.takeScreenshot(File storePath)这个函数可以进行屏幕截图,但是呢,必须是4.2以上设备!而如果是虚拟机,你需要在启动安卓虚拟机时,先点击下edit按钮,查看Use Hos原创 2016-04-01 15:24:19 · 1482 阅读 · 0 评论 -
Android APP性能调优工具 Systrace 的使用
1 Systrace 简介Android 应用启动速度优化方式有很多方法,不过在优化之前,需要找到应用启动速度的瓶颈,找到关键点之后,再去优化,则可以达到事半功倍的效果。 Google 提供了很多 Debug 工具来帮助我们优化应用,这其中就包括 Systrace 工具。Systrace 是 Android 4.1 中新增的性能数据采样和分析工具。它可帮助开发者收集 Android转载 2016-04-21 16:54:07 · 2683 阅读 · 0 评论 -
android客户端性能测试
2.1 性能指标a,响应时间/加载速度b,动画帧率 图片处理器每秒刷新的帧数(FPS),可用来指示页面是否平滑的渲染。高的帧率可以得到更流畅,更逼真的动画,不过帧率达到60fps以上,人眼主观感受到的差别就不大了。所以以60fps作为衡量标准,即要求每一帧刷新的时间小于16ms,这样才能保证滑动中平滑的流畅度。c,内存使用 在And转载 2016-04-21 16:48:19 · 1112 阅读 · 0 评论 -
Android性能优化课程:过度绘制
过度绘制描述的是屏幕上一个像素在单个帧中被重绘了多少次。比如一个有背景的TextView,那么显示文本的那些像素至少绘制了两次,一次是背景,一次是文本。过度绘制是Android平台上一个很棘手的性能问题,它非常容易出现,幸运的是,它也同样容易被修复。我们可以通过手机设置里面的开发者选项,打开Show GPU Overdraw的选项,来查看某个app过度绘制的情况。内容概要转载 2016-04-20 17:24:54 · 429 阅读 · 0 评论 -
Android中app卡顿原因分析示例
我来说下我所知道的事情。我不知道iOS为什么流畅,但我知道一些Android为什么不流畅的原因。首先,就题主所说的问题,我用iPad和小米Pad对比了一下微博滑动滚屏这件事情(2014年8月10日目前微博app最新版本)。正如题主所说,直观感受上明显感觉iOS要流畅、舒服。在这件事情上我认为主要是这三个原因:速度曲线。当你滑动界面然后松手,这时界面会继续滑动,然后速度减转载 2016-04-20 17:03:10 · 947 阅读 · 0 评论 -
findbugs在android studio中的使用
https://androidbycode.wordpress.com/2015/02/13/static-code-analysis-automation-using-findbugs-android-studio/原创 2016-04-14 16:36:00 · 657 阅读 · 0 评论 -
如何将Android Studio的工程导入到eclipse中
自动Android Studio(后面称AS)推出后,越来越多的项目都使用AS开发,对于很多一直使用Eclipse的同学来说无疑是个很不爽的事情。我就是其中之一,现在公司的项目都是用AS开发的了,但是对于测试来说常用的一些插件,比如MAT、findbugs等都习惯于在eclipse中使用。所以今天研究了下把Android Studio工程导入eclipse中的方法,网上找了下,大部分都原创 2016-01-05 17:04:18 · 4206 阅读 · 0 评论 -
Android UI性能优化实战 识别绘制中的性能问题
转载请标明出处: http://blog.youkuaiyun.com/lmj623565791/article/details/45556391;本文出自:【张鸿洋的博客】1、概述2015年初google发布了Android性能优化典范,发了16个小视频供大家欣赏,当时我也将其下载,通过微信公众号给大家推送了百度云的下载地址(地址在文末,ps:欢迎大家订阅公众号),那么近期googl转载 2016-04-21 20:06:26 · 565 阅读 · 0 评论 -
测试显示性能-基于Android M 开发者预览版
安卓官方文档的汉化越来越及时了,新出的Android M 开发者预览版的文档已经全部翻译完了https://developer.android.com/intl/zh-cn/preview/overview.html 这篇文章就是Android M 开发者预览版专题中的一部分测试显示性能 。以下是原文:用户界面 (UI) 性能测试可确保您的应用不仅满足其功能要求,同时确保用户与应用转载 2016-04-22 11:14:49 · 519 阅读 · 0 评论 -
android压力测试工具Monkey使用方法
Monkey简介官方地址:http://developer.android.com/tools/help/monkey.html1.什么是Monkey? Monkey是一个命令行程序,可以运行在模拟器或设备当中,它向系统发送伪随机的用户事件流(如键盘输入、触摸等操作),对程序进行压力测试。adb shell monkey [options] event原创 2016-05-18 15:00:45 · 1481 阅读 · 0 评论 -
深入理解Android的startservice和bindservice
一、首先,让我们确认下什么是service? service就是android系统中的服务,它有这么几个特点:它无法与用户直接进行交互、它必须由用户或者其他程序显式的启动、它的优先级比较高,它比处于前台的应用优先级低,但是比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率很小哦。 二、那么,什么时候,我们需要使用service呢? ...原创 2018-10-18 16:41:10 · 235 阅读 · 0 评论 -
关于android编程中service和activity的区别
绝大部分情况下,Service的作用是用来“执行”后台的、耗时的、重要的任务,三者缺一不可,而最重要的原因是第三点:要执行重要的任务。因为当一个进程启动了Service后,进程的优先级变高了,系统除非在非常极端的情况下,不会杀掉该进程,反观Activity,不具备这样的特性。如果没有满足上面所说的三点,请谨慎使用Service,千万别把使用Service的理由变成:这样可以常驻后台。从资源...转载 2018-10-18 16:03:35 · 2326 阅读 · 0 评论 -
AndroidManifest.xml文件解析
一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent...原创 2018-10-18 15:15:02 · 137 阅读 · 0 评论 -
eclipse导入工程后有些文件没有语法着色的解决方法
eclipse导入工程后发现有个别文件没有语法着色。对比后发现没有着色的都是比较大的文件,代码量在5000L以上。查了下发现是eclipse的限制,修改如下配置即可解决:Window-Preferences——>C/C++——>Editor——>Scalability——>Scalability mode detection里面的数值改大就行了,我这里修改成1000...原创 2018-06-26 10:37:58 · 1661 阅读 · 0 评论 -
Android编译系统详解(一)——build/envsetup.sh(转)
本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接准备好编译环境后,编译Rom的第一步是 source build/envsetup.sh,该步骤把e\nvsetup.sh里的函数声明为当前会话终端可用的命令。这些命令能让我们切换目录,提交代码,编译Rom更方便。如果记不住所有命令,只要你记住hmm就可以了,也可通过hmm命令看到支持的命令列表。1. 命令分类:1.1 编译用的命...转载 2018-05-18 16:07:17 · 1200 阅读 · 0 评论 -
Android使用Jack编译报错:communication error with Jack server (58) 解决方法
Android7.0系统编译工具链使用了全新的Jack server来取代以往的编译器工具Jack is a new Android toolchain that compiles Java source into Android dex bytecode. It replaces the previous Android toolchain, which consists of multiple...原创 2018-05-18 15:16:49 · 10982 阅读 · 0 评论 -
Android内存泄漏分析及调试
首先了解一下dalvik的Garbage Collection:如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Roots),比方说thread stack中的变量,JNI中的全局变量,zygote中的对象(class loader加载)等,然后开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回转载 2016-05-04 17:21:47 · 532 阅读 · 0 评论 -
Android 优化性能之 如何避免--过度绘制
可能有些人不明白什么是过度绘制,简单言,我们app一个页面所显示的效果是由像素一帧一帧绘制而成。过度绘制就是意味着这一帧被绘制多次。如果是静态的布局,可能影响不是很大,如果是动态的,比如ListView,GridView,ViewPager等在性能上就会差一点,常见的比如listView上下滑动,过度绘制的情况下,就会出现卡顿,或者跳跃感很明显。 当然过度绘制肯定无法避免,我们只能减少不必要的绘制转载 2016-04-21 17:34:39 · 775 阅读 · 0 评论 -
Android Studio 2.0发布了
就在昨天Google官方发布了Android Studio 2.0稳定版,来来来,一起来围观这次到底有哪些更新。Instant Run - For every developer who loves faster build speeds. Make changes and see them appear live in your running app. Wi翻译 2016-04-08 17:31:04 · 443 阅读 · 0 评论 -
使用apktool反编译失败解决版本
尝试使用apktool对apk进行反编译,遇到如下问题:I: Baksmaling...I: Loading resource table...Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file at brut.androlib.res.decoder.原创 2015-12-29 16:52:01 · 8490 阅读 · 0 评论 -
Android APK发布前验证项
考虑到应用的安全性,建议版本发布前测试人员需要做如下几项验证:1、签名验证: 使用开发工具对APK进行debug时就回自动生成APK(比如eclipse会在/bin目录自动生成),但是这个包的签名是debug签名的。但是对于正式发布的版本需要使用正式签名。所以发布之前我们可以按照如下方法对apk进行签名验证。将待验证的apk重命名为rar格式,然后打开压缩包,取出其中的META-INF原创 2015-12-31 16:22:59 · 940 阅读 · 0 评论 -
Monkey参数介绍
Monkey参数如下:注意:以下例子中命令均为Windows cmd命令窗口运行环境,往外官网列出的参数并不是全部参数,更全的参数要看monkey源代码。一、常规1、-help作用:列出简单的用法。例:adb shell monkey -help注:一般很少用到此参数,偷懒的做法直接输入adb shell mo转载 2015-12-29 21:17:43 · 551 阅读 · 0 评论 -
android代码混淆
什么是代码混淆Java 是一种跨平台的、解释型语言,Java 源代码编译成中间”字节码”存储于 class 文件中。由于跨平台的需要,Java 字节码中包括了很多源代码信息,如变量名、方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成 Java 源代码。为了防止这种现象,我们可以使用 Java 混淆器对 Java 字节码进行混淆。混淆就是对发布转载 2015-12-29 14:34:58 · 719 阅读 · 0 评论 -
android自动化测试 input
继续android自动化测试,上周研究了下sendevent模拟鼠标键盘的方法,比较麻烦。其实我们可以使用简单点的指令也能实现类似的功能:adb shell input XXX先来看下input有哪些命令,输入adb shell input,可以看到如下打印:usage: input ... input text //输入文字(中文不支持) input keyevent原创 2014-03-03 14:40:16 · 1422 阅读 · 0 评论 -
Android命令行工具logcat详细用法
本贴内容来自网络,引用网址为:http://hi.baidu.com/%C9%C1%D2%AB%B5%C4%CB%AE%BD%A7/blog/item/7cc9e1d00715dc369b50271d.html。 【造成的版权问题,LZ概不负责任!转载请注明出处】,此贴为技术交流帖,若有疑问请跟贴回复!谢谢! Android日志系统提供了记录和查看系统调试信息的功能。转载 2014-03-04 14:39:11 · 772 阅读 · 0 评论 -
android自动化测试 getevent/sendevent
通过adb shell sendevent 命令可以发送鼠标(触屏)、键盘等设备的事件,写成bat脚本或sh脚本后可以方便地进行自动化测试。命令格式:adb shell getevent[device]adb shell sendevent [device] [type] [code] [value]其中device为设备类型,不同的UE包括的device不一样,可以通过下原创 2014-02-28 11:12:00 · 2015 阅读 · 0 评论 -
android自动化测试 getevent/sendevent
通过adb shell sendevent 命令可以发送鼠标(触屏)、键盘等设备的事件,写成bat脚本或sh脚本后可以方便地进行自动化测试。命令格式:adb shell getevent[device]adb shell sendevent [device] [type] [code] [value]其中device为设备类型,不同的UE包括的device不一样,可以通过下面的原创 2014-02-27 22:01:13 · 335 阅读 · 0 评论 -
Android.mk的用法和基础
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。例如,你不需要在你的Android.mk中 列出头文件和依赖文件。NDK编译系统将会为你自动处理这些问题。这也意味着转载 2014-02-27 00:06:43 · 461 阅读 · 0 评论 -
Unable to execute dex: Cannot merge new index 67208 into a non-jumbo instruction!解决方案
在将ADT和SDK Tool升级到最新(分别是21.1和16.0.1)之后,我的一个工程(相对比较大)在编译并运行的时候,出现错误,Eclipse控制台输出如下信息: Unable to execute dex: Cannot merge new index 67208 into a non-jumbo instruction! Conversion to Dalvik转载 2016-01-07 14:32:18 · 572 阅读 · 0 评论 -
使用正式签名打包APK,打开debug模式报错的问题解决方法
SDK Tools Revision 8以后,如果在AndroidManifest.xml中直接设置打开debug模式:1android:debuggable="true"则在使用正式签名打包APK时,Eclipse会报错如下:Avoid hardcoding the debug mode; leaving it out allows deb原创 2016-01-07 15:44:15 · 3905 阅读 · 0 评论 -
Android APK优化工具Zipalign详解
Android SDK中包含了一个用于优化APK的新工具zipalign。它提高了优化后的Applications与Android系统的交互效率,从而可以使整个系统的运行速度有了较大的提升。 在下面的内容中将从三个方面介绍zipalign: 1、zipalign如何优化 2、如何使用zipalign 3、使用zipalign的理由转载 2015-12-08 15:40:26 · 389 阅读 · 0 评论 -
LeakCanary 中文使用说明
Android 和 Java 内存泄露检测。“A small leak will sink a great ship.” - Benjamin Franklin千里之堤, 毁于蚁穴。 -- 《韩非子·喻老》开始使用在 build.gradle 中加入引用,不同的编译使用不同的引用: dependencies { debugCompile转载 2016-03-14 14:07:15 · 1006 阅读 · 0 评论 -
Android自动化测试之 Uiautomator-UiDevice-API
UIdevice提供关于设备的状态信息。你也可以使用这个类来模拟装置上的用户的行为,如按方向键或按菜单按钮。clickbooleanclick(int x, int y)在任意坐标指定的坐标执行一个点击.例子:点击坐标点(300,300:UiDevice.getInstance().click(300,原创 2016-04-06 16:55:36 · 3033 阅读 · 0 评论 -
android自动化测试框架对比
转自: http://www.yangrong.me/?p=15最近花了一些时间来调研android的测试框架,除了需要适合做UI测试,还需要保证选取的框架有以下几点特性:工具开源,易于扩展。脚本编写简洁,维护成本低。满足客户端的自动化需求。便与校验结果的正确性。可用于持续集成。目前较热门的开源框架有:Android APIs提供的I转载 2016-04-06 09:51:45 · 1040 阅读 · 0 评论 -
Android Studio使用教程(二)
以下是本次Google I/O大会发布的IDE Android Studio使用教程第二篇:在 Android Studio使用教程(一)中简要介绍了Android Studio的基本使用,包括安装、新建工程、工程结构以及主题设置。今天接着讲第二篇,主要包括如下内容:从Eclipse导入工程到Android StudioEclipse工程与Android Stu转载 2016-03-09 09:49:59 · 383 阅读 · 0 评论 -
Android Studio使用教程(一)
今年的Google全球开发者大会虽然没有新的Android系统和设备,但是还是推出了一些不错的产品,Android Studio就是其中之一。这个基于Intellij IDEA开发的Android IDE让很多人眼前一亮,其实时编写布局文件实时预览并适配多屏的功能可以说让苦于界面布局开发的人看到了希望。代码自动提示、运行响应速度、都比Eclipse来的要好。但这次推出的版本毕竟是预览版,所以改进的转载 2016-03-09 09:30:13 · 713 阅读 · 0 评论 -
使用screenrecord对APP性能测试中的响应时间指标进行收集
APP性能测试中响应时间是一个重要的指标。之前的测试中主要使用的是录屏的方式记录响应时间——在A手机上操作,同时使用B手机进行录制,然后对录制到的视频进行帧分析计算响应时间。很显然,这个方法很麻烦~~研究了一下,我们可以通过Log查看Activity的Launchtime来对响应时间进行收集。但是这个方法有很多局限:首先这个方法只能测试对涉及Activity启动项的测试,但是在我们原创 2016-03-17 23:29:10 · 2953 阅读 · 0 评论 -
使用jmeter进行APP接口测试经验总结
使用工具:Fiddler、Jmeter测试步骤:1. 确认接口从开发人员那里获取接口文档,接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。如果当前项目没有接口文档,则可以使用fiddler对APP进行抓包确认。fiddler对手机进行抓包的方法可以参考:http://blog.youkuaiyun.com/whorus1/article/原创 2016-02-18 09:18:20 · 35251 阅读 · 2 评论