单机器人的预热速度极慢

本文关键字:速度 机器人 | 更新日期: 2023-09-27 18:27:39

我有一个小应用程序,第一个屏幕是登录活动,加载第一个活动相对可以(在模拟器中2秒)。

当您按下登录按钮时,它会使用System.Net.HttpWebRequest来验证登录用户名/密码,大约需要12秒。我在桌面上用0.1秒调用相同的URL。更糟糕的是,从URL返回的数据是json,我需要对其进行反序列化,这需要额外的10秒。

我在谷歌上搜索了这里和他们,它排除了System.Net.HttpWebRequest.Proxy陷阱(7秒检测)。

我进行了一些调试,并在"调试"窗口中发现了以下有趣的结果。基本上,我注意到有相当多的assemeblies正在运行时加载。

08-14 15:06:12.713 I/dalvikvm( 9180): Wrote stack traces to '/data/anr/traces.txt'
Loaded assembly: MonoDroidConstructors [External]
08-14 15:06:17.823 D/dalvikvm( 9180): GC_CONCURRENT freed 50K, 4% free 7313K/7559K, paused 11ms+3ms
Thread started: <Thread Pool> #2
Thread started: <Thread Pool> #3
**Loaded assembly**: System.dll [External]
[0:] 
[0:] 
[0:] 
start login,8/14/2013 3:06:22 PM
08-14 15:06:23.723 I/mono-stdout( 9180): 
start login,8/14/2013 3:06:22 PM
[0:] 
start login,8/14/2013 3:06:22 PM
Thread started: <Thread Pool> #4
**Loaded assembly**: Mono.Security.dll [External]
Thread started: <Thread Pool> #5
Thread started: <Thread Pool> #6
[0:] 
end login,8/14/2013 3:06:29 PM
08-14 15:06:29.933 I/mono-stdout( 9180): 
end login,8/14/2013 3:06:29 PM
[0:] 
end login,8/14/2013 3:06:29 PM
[0:] 
[0:] 
**Loaded assembly**: System.Runtime.Serialization.dll [External]
[0:] 
08-14 15:06:38.893 I/dalvikvm( 9180): threadid=3: reacting to signal 3

单机器人的预热速度极慢

我终于弄明白了。

我创建了一个新的AVD,配置更好,而且速度更快。

它在模拟器中的速度慢也与ARM的性能不太好有关。我相信我们可以使用x86模拟器来获得更好的性能。使用固态硬盘将有助于提高性能,而不是硬盘。

在正确设置真实设备和良好网络的情况下,整个过程只需不到1秒。