page contents
Pack
Pack

性别: 注册于 2019-11-22

向TA求助
9899金币数
19670 经验值
4个粉丝
主页被访问 6607 次

1048 个回答

0 赞同

如何对 Android 应用进行性能分析

android 性能主要之响应速度 和UI刷新速度。 可以参考博客:Android系统性能调优工具介绍 首先从函数的耗时来说,有一个工具TraceView 这是androidsdk自带的工作,用于测量函数耗时的。 UI布局的分析,可以有2块,一块就是Hierarchy Viewer 可以看到View的布局层次,以及每个View刷新加载的时间。 这样可以很快定位到那...

回答于 2021-06-05 15:56

0 赞同

什么情况下会导致内存泄露

内存泄露是个折腾的问题。 什么时候会发生内存泄露?内存泄露的根本原因:长生命周期的对象持有短生命周期的对象。短周期对象就无法及时释放。 I. 静态集合类引起内存泄露 主要是hashmap,Vector等,如果是静态集合 这些集合没有及时setnull的话,就会一直持有这些对象。 II.remove 方法无法删除set集 Objects.hash(fir...

回答于 2021-06-05 15:56

0 赞同

如何避免 OOM 异常

首先OOM是什么? 当程序需要申请一段“大”内存,但是虚拟机没有办法及时的给到,即使做了GC操作以后 这就会抛出 OutOfMemoryException 也就是OOM Android的OOM怎么样? 为了减少单个APP对整个系统的影响,android为每个app设置了一个内存上限。

回答于 2021-06-05 15:55

0 赞同

Android 中如何捕获未捕获的异常

CrashHandler 关键是实现Thread.UncaughtExceptionHandler 然后是在application的oncreate里面注册。

回答于 2021-06-05 15:54

0 赞同

ANR 是什么?怎样避免和解决 ANR(重要)

ANR->Application Not Responding 也就是在规定的时间内,没有响应。 三种类型: 1). KeyDispatchTimeout(5 seconds) —主要类型按键或触摸事件在特定时间内无响应 2). BroadcastTimeout(10 seconds) —BroadcastReceiver在特定时间内无法处理完成 3). ServiceTimeout(20 seconds) —小概率类型 Service在特定的时...

回答于 2021-06-05 15:54

0 赞同

Android 线程间通信有哪几种方式

1)共享变量(内存) 2)管道 3)handle机制 runOnUiThread(Runnable) view.post(Runnable)

回答于 2021-06-05 15:53

0 赞同

Devik 进程,linux 进程,线程的区别

Dalvik进程。 每一个android app都会独立占用一个dvm虚拟机,运行在linux系统中。 所以dalvik进程和linux进程是可以理解为一个概念。

回答于 2021-06-05 15:52

0 赞同

简述 android 应用程序结构是哪些?

1)main code 2) unit test 3)mianifest 4)res->drawable,drawable-xxhdpi,layout,value,mipmap mipmap 是一种很早就有的技术了,翻译过来就是纹理映射技术. google建议只把启动图片放入。 5)lib 6)color

回答于 2021-06-05 15:52

0 赞同

描述一下 android 的系统架构

从小到上就是: linux kernel,lib dalvik vm ,application framework, app

回答于 2021-06-05 15:51

0 赞同

android 应用对内存是如何限制的?我们应该如何合理使用内存?

activitymanager.getMemoryClass() 获取内存限制。 关于合理使用内存,其实就是避免OOM & 内存泄露中已经说明

回答于 2021-06-05 15:51