我正在尝试为Android平台开发API来衡量应用性能。例如,我需要以下内容来衡量Android应用程序。我需要专家建议
应用程序登录需要多长时间?通过后端系统登录。用户名和密码保存在数据库服务器中,android app将从数据库服务器检查用户名和密码。应用程序要检查多少时间?一个常见的解决方案:用户名/密码检查功能的开始时间和结束时间,然后(结束时间 - 开始时间)将给出需要登录检查的应用程序的实际时间。专家的任何其他建议?
计算成功加载所有这些UI组件(TextView,ImageView等)所需的渲染时间。 ImageView图像将从服务器加载。需要专家的建议。我可以在这里申请#1蜱,但是想听听专家的意见:)
由于 Arefin
答案 0 :(得分:2)
要衡量应用的效果,使用简单的Stopwatch
实用程序是一个公平的选择。或者您也可以使用Android的traceview等标准工具。
但是,如果您想了解您的应用在用户中的效果,那么像New Relic这样的解决方案可以派上用场。它允许您测量应用程序的各种HTTP请求的性能。
最后,要跟踪应用在呈现对象时的效果,最好使用Android自己的Hierarchy Viewer。
答案 1 :(得分:2)
如果您担心本地CPU的使用情况,请不要使用挂钟时间(即墙上时钟显示的时间)。 Android包含一个Debug类,其中包含一个静态方法threadCpuTimeNanos(),它更适合于此目的:
long startTime = Debug.threadCpuTimeNanos();
// your computation goes here
long endTime = Debug.threadCpuTimeNanos();
// If this comes out as 0, you probably don't need to worry about performance :-)
long cpuTimeInMilliseconds = (endTime - startTime) / 1000000;
答案 2 :(得分:0)
我认为(结束时间 - 开始时间)是一个很好的解决方案。没有必要让它变得更复杂......
答案 3 :(得分:0)
你能看一下:https://firebase.google.com/docs/perf-mon/get-started-android吗?
您可以使用自定义跟踪来测量一段代码的性能(通过在该代码周围添加Trace.start(),Trace.stop())或使用@AddTrace批注来跟踪特定方法。
启用后,Firebase会自动衡量应用开始时间和网络请求延迟,请求/响应大小等。