【Android】学习汇总

分享到:

2014/05/14---调试内存http://developer.android.com/tools/debugging/debugging-memory.html

        

          用这个语句可以看某进程的内存分析adb shell dumpsys meminfo <package_name>。关于pss,shared,private的几种内存。

      ---按理多进程http://developer.android.com/training/articles/memory.html#MultipleProcesses

2014/05/29---基于Fragment,Loader,Actionbar的几个好文章转载 1   http://blog.csdn.net/chenji001/article/details/7323821

 

2014/05/29---about background job --http://www.cnblogs.com/android100/p/Android-Best-Practices.html

2014/05/31---why a inner fragment class should be static?----http://stackoverflow.com/questions/15571010/fragment-inner-class-should-be-static

2014/6/4---activity launchMode--http://blog.csdn.net/feng88724/article/details/6412638

  1. standard  每次都会新建,每个Task都可以有,且每个Task都可以有多个实例(每个Task都可以有,且可以有多个)  
  2. singleTop 当前实例如果在栈顶,就不新建实例,调用其OnNewIntent。 如不在栈顶,则新建实例  (每个Task都可以有,且可以有多个,在栈顶时可复用)  
  3. singleTask 新建一个Task,如果已经有其他的Task并且包含该实例,那就直接调用那个Task的实例。(只有一个Task中会有)  
  4. singleInstance 新建一个Task,且在该Task中只有它的唯一一个实例。 (只有一个Task会有,且该Task中只有它)    

  这个写的更好:http://blog.sina.com.cn/s/blog_652dd96d0100xo6b.html

  

launchmode4种模式:
  1,standard:
  如果从A跳到A,intent5次,task里5个activity;
  2,single Top:
  如果从A 跳B,再从B跳A,如果此时栈顶为A,则不创建新实例,直接把Intent给A,但如果栈顶不是A,则还要创建A的实例
  3,singleTask
  如果从A跳B,再从B跳A,无论是否栈顶栈底,只要A在,则将Intent给A,不会创建A的新实例;
  4,singleInstance
    不同于前3种模式,前3种只是在同一个task的,而实例化的策略不同。这种模式下的activity会单独存在一个task下。
  现成的例子是google地图。比如我有一个应用是导游方面的,其中调用的google地图Activity。那么现在我比如按home(后台 activity onstop,back是finish)键,

  然后到应用列表  中  打开google地图,你会发现显示的就是刚才的地图,实际上是同一个Activity。
    如果使用上面三种模式,是无法实现这个需求的。google地图应用中有多个上下文Activity,比如路线查询等的,导游应用也有一些上下文Activity。在各自应用中回退要回退到

  各自的上下文Activity中。
  总结:
  1 2:会创建新实例
  3 4:不会创建新实例
  123:activity的taskid相同
  4:activity的taskid不同。被分到单独一个task中
  转自:http://greenboy1.iteye.com/blog/1033827
昵    称:
验证码:

相关文档: