2014-10-16 76 views
2

我们的团队制作了这个应用程序,它向家庭成员发送坐标(纬度,经度)的SOS。基本上我们正在做的是访问联系人列表,添加一些列表发送短信到。 我们需要的是一种技术,可以减少从一个活动切换到另一个活动的时间,从而使UI更加流畅。 感谢如何减少从一个活动切换到另一个活动的时间?

+1

在您的Activity的onCreate方法上在'setContentView'前加'overridePendingTransition(0,0);' – 2014-10-16 15:40:38

回答

6

活动之间的切换通常是平稳的。如果它不光滑,可能是由于UI线程上的一些繁重操作造成的。人眼可以检测超过200ms的延迟。所以你需要找出你在哪里花更多时间处理。

的Android提供为同一

Strictmode功能从Android文档

StrictMode是一个开发工具,它由事故检测的东西,你可能会做 ,并将它们带给你的注意力,让你可以修复它们。

StrictMode最常用于捕获应用程序主线程中的意外磁盘或网络 访问,其中UI操作接收到 并发生动画。保持磁盘和网络 关闭主线程使得更平滑,更多 响应式应用程序。通过保持应用程序的主线程 响应,您还可以阻止向用户显示ANR对话框。

你可以找到more details here

示例代码

public void onCreate() { 
    if (DEVELOPER_MODE) { 
     StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() 
       .detectDiskReads() 
       .detectDiskWrites() 
       .detectNetwork() // or .detectAll() for all detectable problems 
       .penaltyLog() 
       .build()); 
     StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() 
       .detectLeakedSqlLiteObjects() 
       .detectLeakedClosableObjects() 
       .penaltyLog() 
       .penaltyDeath() 
       .build()); 
    } 
    super.onCreate(); 
} 

此外,作为建议的纳迪姆你可以删除默认的活动也转型。

2
startActivity(new Intent(v.getContext(), newactivity.class)); 
overridePendingTransition(0, 0); 

OR

您可以创建一个样式,

<style name="noAnimTheme" parent="android:Theme"> 
    <item name="android:windowAnimationStyle">@null</item> 
</style> 

,并将其设置为主题的体现你的活动:

<activity android:name=".ui.ArticlesActivity" android:theme="@style/noAnimTheme"> 
</activity> 

有关完整参考看看这switching activities without animation

相关问题