• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

陈文管的博客

分享有价值的内容

  • Android
  • Affiliate
  • SEO
  • 前后端
  • 网站建设
  • 自动化
  • 开发资源
  • 关于

Android 性能监控之内存监控

2020年3月23日发布 | 最近更新于 2023年8月28日

接上一篇Android CPU监控,接着记录下Android内存的监控,包括系统内存和独立进程内存获取方式解析,以及系统内存和独立进程内存信息在C++层获取的实现。

一、Android系统内存解析

1. dumpsys meminfo方式解析

通常获取系统内存是通过dumpsys meminfo的方式:

adb shell dumpsys meminfo

示例输出:

Applications Memory Usage (in Kilobytes):
Uptime: 118719544 Realtime: 448708145

Total PSS by process:
  &n[……]

【阅读全文 ▽ 】

Android 性能监控之CPU监控

2020年3月15日发布 | 最近更新于 2023年8月28日

Android性能监控需要读取CPU和内存基础数据,本文对CPU基础信息获取的实现做个记录,在做了资料查询和Demo测试之后,最后确认在C++层从系统proc伪文件中获取系统和独立进程的CPU数据是可行的方法。

如果是在Java层实现CPU和内存的基础数据获取,在Android高版本会遇到Runtime.getRuntime().exec()执行shell命令权限限制问题。Android平台版本碎片化严重,一个功能开发出来适配成本大于收益是没有实现价值的。如果要实现Android全平台的兼容性,并在兼顾监控程序性能占用方面,直接下沉到C++是最简单直接的做法。

不建议直接使用类似控制台输命令持续获取CPU和内存信息,一个[……]

【阅读全文 ▽ 】

Android NDK版本配置和编译

2020年2月11日发布 | 最近更新于 2023年8月28日

项目上需要把功能下沉到C++去实现来降低性能上的损耗,N年不碰C++的重操旧业,首先就是要配置NDK编译环境,以下记录Android NDK版本配置和编译遇到的坑。

一、NDK版本下载

NDK最新版本下载地址:

https://developer.android.google.cn/ndk/downloads/

NDK历史版本下载地址:

https://developer.android.google.cn/ndk/downloads/older_releases.html

在Mac上测试android-ndk-r10d和最新的android-ndk-r20b版本都存在问题,编译中会出现找不到编译[……]

【阅读全文 ▽ 】

Android 8(Oreo)后台启动Service限制解析

2019年10月25日发布 | 最近更新于 2023年8月28日

本文针对Android 8(Oreo)开始对于后台启动Service限制做一个解析,一个是startService限制,另一个是startForegroundService启动服务之后5s内必须调用startForeground(),并提供对应异常的适配解决方法。

一、Android Oreo后台启动服务异常

从Androidxref上的源码来看,这个异常机制是从8.1.0版本开始引入的,在8.0.0的源码上还未引入这个限制。

1. 使用startService在后台启动服务

从Android 8.1.0开始,不允许在后台运行服务,应用处于后台的时候,使用startService启动后台服务会抛异常。

[……]

【阅读全文 ▽ 】

Android ANR详解

2019年9月24日发布 | 最近更新于 2023年8月28日

ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。本文内容包括ANR的类型说明,ANR的原理解析,ANR四种检测方案介绍和常见ANR问题的分析解决方法。

一、ANR的类型

1. InputDispatching Timeout

超时时间:谷歌平台默认5s,MTK平台8s

原因:对输入事件(例如按键或屏幕轻触事件)没有响应

2. Broadcast Timeout

超时时间:前台广播10s,后台广播60s

原因:在特定时间内无法处理完成[……]

【阅读全文 ▽ 】

Android 子线程更新UI详解

2019年9月6日发布 | 最近更新于 2023年8月28日

本文内容介绍子线程操作UI抛出的CalledFromWrongThreadException异常解析,子线程操作UI的几种方法,及几种在子线程中操作UI导致的异常现象说明。

一、子线程中操作UI一定会报错?

不一定,如果是在onCreate中子线程操作UI控件,不会发生异常,可以正常更新UI,下面看下源码。

1. 首先是ViewRootImpl抛异常的地方

void checkThread() {
    if (mThread != Thread.currentThread()) {
        throw new CalledFromWrongThreadException(
[......]

【阅读全文 ▽ 】

Android Home键之后后台启动Activity延迟5秒

2019年9月1日发布 | 最近更新于 2023年8月28日

在客户反馈中遇到一个问题,Home键把应用置于后台,外部通过对接协议广播的方式,应用内接收到广播之后通过startActivity把应用从后台调起到前台,只是普通的逻辑调用,但是应用在后台停留了10S之后,应用才回到前台,并先出现了黑屏,之后才显示应用界面的问题。

从Activity的生命周期Log分析,在调用了startActivity之后,已经走到了onResume,但是过了5S之后,应用才显示出来。

一开始是怀疑系统方的问题,系统方分析之后,单单startActivity就花费了3S时间,之后还有应用内的Activity切换又耗费额外的2S,这5S时间可以看作是主线程的卡顿导致。但另外的5S是在onResume之后[……]

【阅读全文 ▽ 】

Toast 自定义布局重复添加异常分析

2019年7月18日发布 | 最近更新于 2023年8月28日

Toast Exception : java.lang.IllegalStateException: View has already been added to the window manager.

Crash堆栈如下:

Exception:java.lang.IllegalStateException: View com.autonavi.skin.view.SkinRelativeLayout{95730 V.E...... ......I. 0,0-0,0}
    has already been added to the window manager.
at android.view.W[......]

【阅读全文 ▽ 】

adb shell 指令手册

2019年7月6日发布 | 最近更新于 2023年8月28日

adb即android debug bridge(安卓调试桥),本文内容包括常用adb shell相关命令的使用及说明,涉及到adb debug调试、adb无线连接、adb应用包操作、adb文件操作、adb网络操作、adb日志操作、adb截屏操作、adb系统交互相关操作。

一、ADB Debugging – Debug调试

1、adb devices

打印挂载的虚拟机/设备信息

adb devices

输入以上命令回车之后,输出设备序列号和状态 

e4b25377        device
emulator-5554  device[......]

【阅读全文 ▽ 】

AES加密解密

2019年6月23日发布 | 最近更新于 2023年8月28日

在项目开发中遇到AES加密解密的问题,因为一个参数问题卡了比较久,做个记录。并给出AES加密解密分别用Java、Python和C++的实现代码。

一、AES简介

AES加密算法即密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

AES加密算法涉及4种操作:字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。数据块分组长度必须为128比特,密钥长度可以是128比特、192[……]

【阅读全文 ▽ 】

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to Next Page »
博客公众号
博客公众号

GitHub

https://github.com/wenguan0927

近期文章

  • 使用ChatGPT开发Next.js图片转化工具网站
  • 阿里云轻量应用服务器WordPress版本升级
  • Android 项目集成 Flutter 模块
  • WordPress网站 301 重定向处理
  • 115个ChatGPT插件信息汇总表

工具网站

Webp To Jpg

Jpg To Webp

Webp To Png

Png To Webp

Convert Avif to Png

Avif to Jpg Convert

Ip Address Lookup

Ip Number Lookup

海外产品评测

Lonleyplanet

OutdoorRating

PawsRating

PlaytimeCritic

HomyRater

友情链接

崔庆才的个人博客

Trinea  (codeKK)

Piasy

Paincker

wanandroid

陈祖杰的BLOG

闽ICP备18001825号-1 · Copyright © 2024 · Powered by chenwenguan.com