Android
戴boy
菜鸟,求学中~~~
展开
-
性能检测-RAM
简介CPU、FPS 都已介绍过了,自然避免不了要介绍一波内存。内存分为两大类:RAM 和 ROM。RAM:RAM 为运行内存,比如,手机助手的悬浮窗,经常提示的运行内存超过 80% 之类的,指的都是运行内存。ROM:ROM 为存储数据的内存,比如,系统设置界面显示的“总空间128G,剩余32.2G”,指的是 ROM。本篇所说的性能检测-内存,主要说的就是 RAM。实现原理在你对某件事无从下手的时候,不妨去看看大佬们的写法。Debug.MemoryInfo这个类我们或许都没听说过,不过原创 2020-10-16 17:30:30 · 1122 阅读 · 0 评论 -
性能检测-FPS
简介要进行 FPS 检测,自然要先理解 FPS 的概念。FPS 即 Frames per second。(此处省略 1000 字,请自行百度)在上方的概念中,60 帧每秒以及 16.67 毫秒这两个关键数据代表什么含义呢?又是怎么得来的呢?请阅读UI卡顿优化这篇文档中的「神奇的16ms」一节。好了,假装 FPS 的基本概念我们都已理解了,下面我们看看如何用代码实现 FPS 检测吧!实现方案选择adb shell dumpsys gfxinfo 【packagename】执行以下命令,我们可以原创 2020-10-15 18:13:47 · 6900 阅读 · 0 评论 -
性能检测-CPU
简介要想给用户好的体验,性能优化是必不可少的,但是要进行性能优化要先进行性能检测,只有查出了问题,才能“对症下药”。本篇主要讲解如何通过代码对 CPU 进行性能检测,讲解简单用法及部分原理。原理(Android 8.0 以下)获取整机CPU使用情况要查看机器的CPU使用情况,可通过查看/proc/stat 文件,该文件包含了所有自系统启动以来累计的CPU活动信息。查看方式:在 adb shell模式下,输入cat /proc/stat在 root 手机上查看 /proc/stat 文件内容原创 2020-10-15 18:12:47 · 764 阅读 · 0 评论 -
Appium自动化测试
相关链接官网:http://appium.io/使用Java编写API文档:http://appium.github.io/java-client/学习文档:https://www.cnblogs.com/fnng/p/4540731.html个人站点:http://per-dyw.xyz/技术展示安装(仅Windows)若电脑上未安装node.js,请先安装node.js下载安...原创 2019-09-20 16:51:27 · 823 阅读 · 0 评论 -
Android热修复-Robust
什么是热修复热修复(也称热补丁、热修复补丁,英语:hotfix)是一种包含信息的独立的累积更新包,通常表现为一个或多个文件。这被用来解决软件产品的问题(例如一个程序错误)。通常情况下,热修复是为解决特定用户的具体问题而制作。正常开发流程热修复开发流程热修复优势修复什么热修复框架的对比按公司团队划分:类别成果阿里系AndFix、Dexposed、阿里百川...原创 2019-09-20 16:47:47 · 887 阅读 · 0 评论 -
编译报错,方法数过多解决方案
在android开发的过程中,随着app的功能和代码的增加,总会在一次编译后遇到一种报错:android中方法数超过64k,即64 * 1024位数的限制。在android官方api中给出了这个问题的解决方案《配置方法数超过 64K 的应用》,让你完美的规避64k的限制。方法数超过64k解决方案1.minSdkVersion>=21,只需要在build.gradle中设置multiDe...原创 2019-05-29 09:07:48 · 435 阅读 · 0 评论 -
UI检测(Hierarchy Viewer和Layout Inspector)
工具推荐UI检测的工具,Hierarchy Viewer和Layout Inspector。Hierarchy Viewer官方地址Layout Inspector官方地址虽然Hierarchy Viewer已经废弃了,但感觉还是有必要介绍一下的。Hierarchy Viewer工具打开方式AS版本:3.3.2 打开方式:本地安装SDK目录->sdk->tools-&...原创 2019-05-14 19:23:38 · 2283 阅读 · 0 评论 -
Android studio JNI搭建
Android原生开发人员可能需要的jni搭建step1:CMake,LLDB,NDK下载step2:NDK本地环境配置1)打开terminal(终端)输入:vim ~/.bash_profile,回车2)按英文键 i 进入编辑模式,在里面添加 export PATH=${PATH}:你的NDK路径3)按esc 退出,并输入wq回车4)输入source ~/.b...原创 2018-12-06 13:46:45 · 311 阅读 · 1 评论 -
接手Android项目代码后的优化
代码优化的注意点1、单例模式的引用2、extends之后,重复定义3、调用runOnUiThread时,context强转为activity((Activity)context).runOnUiThread(new Runnable() { @Override public void run() { if (mToast原创 2017-11-14 11:19:00 · 350 阅读 · 0 评论 -
listview中的switch遇到的问题
listview中的switch遇到的问题一、状态的变化选中之后,滑出这个页面,再滑进,会变为未选中状态,解决办法:1、定义一个hashmap,用来存储listview中switch的初始所有状态2、不要在getView中定义,在构造方法中定义for (int i = 0;i<list.size();i++){ if (this.list.get(i).getStatus().equal原创 2017-11-14 11:18:29 · 2306 阅读 · 0 评论 -
发布到百度平台遇到的问题
一、签名文件:以 .jks 后缀结尾二、Android7.0中APK Signature Scheme v2,v1 的区别V1:应该是通过ZIP条目进行验证,这样APK 签署后可进行许多修改 - 可以移动甚至重新压缩文件。V2:验证压缩文件的所有字节,而不是单个 ZIP 条目,因此,在签名后无法再更改(包括 zipalign)。正因如此,现在在编译过程中,我们将压缩、调整和签署合并成一步完成原创 2017-11-14 11:17:24 · 931 阅读 · 0 评论 -
初次接触AsyncTask
1、传入三个参数AsyncTask<Params,Progress,Result>Params:启动任务时,输入参数的类型Progress:后台任务执行中返回进度值的类型Result:后台执行任务完成后返回结果的类型2、四种方法:1)doInBackground //执行耗时操作2)onPreExecute //执行AsyncTask之前的操作3)on...原创 2017-08-07 08:11:07 · 299 阅读 · 0 评论 -
Android从外部API获取json数据并以listview形式展现
1、权限的设置<uses-permission android:name="android.permission.INTERNET"/>2、android studio加载外包compile 'com.lzy.net:okgo:2.1.4' compile 'com.lzy.net:okrx:0.1.2' compile 'com.lzy.net:okser...原创 2017-06-12 20:58:52 · 3359 阅读 · 0 评论 -
android发送桌面快捷方式
1、权限的设置<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>2、简单的布局<Button android:layout_width="match_parent" android:layout_he...原创 2017-06-13 21:55:00 · 569 阅读 · 0 评论 -
GPS定位+经纬度定位
1、从高德地图下载sdk并放入相应的包2、权限+key:<meta-data android:name="com.amap.api.v2.apikey" android:value="key" />key放自己的!!! <uses-permission android:name="...原创 2017-06-15 13:13:53 · 10507 阅读 · 0 评论 -
读取SD卡图片,并自动轮播
1、加权限 <!-- 授予读取外部存储设备的的访问权限 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <!-- 授予写入外部存储设备的的访问权限 --> <uses-permission android:...原创 2017-06-15 21:00:38 · 1182 阅读 · 1 评论