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
- standard 每次都会新建,每个Task都可以有,且每个Task都可以有多个实例(每个Task都可以有,且可以有多个)
- singleTop 当前实例如果在栈顶,就不新建实例,调用其OnNewIntent。 如不在栈顶,则新建实例 (每个Task都可以有,且可以有多个,在栈顶时可复用)
- singleTask 新建一个Task,如果已经有其他的Task并且包含该实例,那就直接调用那个Task的实例。(只有一个Task中会有)
- 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
2014/07/16自己做了下这方面研究,主要是,finish一个activityB后,activityB会销毁,B启动activityC,B则不会销毁。先尝试不用finish用moveBackStackTask,这个是退出当前task栈,不行。又尝试设B为singleTask,B在启动时就不会被销毁,但是是启动了一个新的activityTask栈,这时需要使用moveBack……这个方法。
activity之launchmode | |||
所属task | 允许多实例 | 举例 | |
standard | 同一个task | 一个task可有多个实例,每次启动生成新实例 | 可能会出现A-B-C-D-D, 或A-B-C-D-B |
singleTop | 同一个task | 一个task可有多个实例,当在task栈顶,则不生成新的,调用onNewIntent。否则生成新的实例,一般用于跨task | 吸能出现A-B-C-D,或A-B-C-D-B |
singleTask | 在同一个task | 只有一个实例 | |
singltInstance | 被启动时开一个task,启动别人也开一个task | 只有一个实例存在于一个task栈,栈中没其他activity | |
其他: | 当已经存在的activity实例处理新的intent时候,会调用onNewIntent()方法 |
2014/06/04 此贴总结了很多关于内存调试的的链接---http://blog.sina.com.cn/s/blog_6f14deb601010ppz.html
2014/01/30
今天看的东西比较杂
1,首先是关于OAuth认证方面,与第三方登陆集成---http://blog.csdn.net/wyzxk888/article/details/8061717-
这边原理讲的不错---http://kb.cnblogs.com/page/189153/
2,然后是发现通过一个intent直接可以分享出去,不必集成sdk
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_SUBJECT, "Share");
intent.setPackage("com.sina.weibo");
intent.putExtra(Intent.EXTRA_TEXT, "I have successfully share my message through my app");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mActivity.startActivity(Intent.createChooser(intent, "分享"));
3,其次是oc与c++的区别---http://blog.csdn.net/itianyi/article/details/9046231
在c++中就有了 值传递(A a;) 与指针传递(A *a;)的区别。在java中是没有的,oc中也是没有的,因为java与oc创建的对象都相当于是创建的对象的指针,而不能直接的创建对象本身,都是通过这个指针去访问对象的。C++中的拷贝构造函数跟Java中的对象克隆(clone)是一样的.
4,又看了几个项目管理工具,大家好像都用microsoft project+excel,我试了colabtive其实一般般
2014/7/11-----关于android的缓存,bitmap,LRUCache等
1,android缓存模块的构建--http://my.oschina.net/ryanhoo/blog/93285
2,翻译android官方的bitmap教程--http://my.oschina.net/ryanhoo/blog?catalog=260281
3,LruCache 和DiskLruCache的原理及使用--http://blog.csdn.net/carrey1989/article/details/12152651
2014、7、12----Fragment介绍的比较好的一篇文章---http://www.cnblogs.com/mengdd/archive/2013/01/11/2856374.html
2014/9/15-----困扰了我很久的问题,双击不能高亮显示了,搜索“eclipse 双击 focus 高亮”,
在eclipse/myeclipse中如果不小心把变量的高亮显示弄丢了。可真是件愁人的事,不过看到这你就不用愁了
windows-> preferences-> java-> Editor-> Mark Occurences
最上边的大标题的复选框勾上,下面的就都可以高亮显示了,Local variables是变量的高亮显示
还有其他的一些高亮的
alt+shift+o 也可以打开关闭这个