Android邪門歪道

下面給幾個邪門歪道的玩法,都是在實際項目中爲了某些詭異需求而產生的。java

一、強行關閉數組

做用:不管在什麼時候何地都能關掉某個Activityide

代碼:工具

public class TestActivity extends Activity{
 
 private static TestActivity me = null;
 public static void close(){
  if (me!=null) {
   me.finish();
  }
 }
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  me = this;
 }
}

好處:簡單、粗暴。無論你是在Adapter中,仍是在其餘Activity中,僅僅一句代碼就能夠關閉。(若是同個Activity打開屢次,能夠用數組解決)this

弊端:靜態Activity佔用內存spa

二、毀屍滅跡code

做用:臨時處理一些詭異的跳轉,好比A到B到C,在C按返回到A對象

代碼:內存

  Intent intent = new Intent(this,MainActivity.class);
  startActivity(intent);
  finish();

好處:每次跳轉都會幹掉原先的Activity,想跳到哪一個界面就從新startActivity一次。這樣作的好處是不用花時間去想那些奇葩需求的跳轉邏輯,反正我全都幹掉,要顯示哪一個就跳哪一個。it

弊端:每次都要從新啓動Activity,須要加載時間,建議只在部分特殊場景使用

注意:部分手機可能會出現界面切換時,上一個界面先關閉,必定延遲後進入下個界面,給人感受像整個應用關閉了再重啓的樣子,要避免這種狀況,能夠弄個Handler延遲finish。

三、觀察者模式

做用:裝B

代碼:把全部Activity弄成觀察者,被觀察的對象是個單例工具類

好處:能夠在任何地方調用一句工具類代碼關閉或更新某個界面

弊端:實際上就是上面1的數組版本,靜態Activity太多,這樣很差很差

相關文章
相關標籤/搜索