2014-10-16 109 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

相關問題