回答了问题2017-09-26
这一段加载fragment的代码,并不是执行以后,fragment就被加载到Activity了。FragmentManager commit一个事务是异步执行的。
回答了问题2017-09-25
这是SystemUi工程中的代码,拖动Notification的时候,响应的地方是NotificationPanelView的onTouchEvent回调。这一块代码的原理会有些复杂,如果你有源码,可以从这里开始入手,接着跟一下。或者,在跟之前可以以“NotificationPanelView”为关键字google一下,看看前...
发布了文章2017-09-22
近几天开发的过程中,遇到了一个很棘手的问题:在没网络情况下OKHttp的任何请求,全都没有任何回应。想要查看线程的调用栈查看是哪里stuck了。于是使用了AndroidStudio的工具。Monitors中CPU的Method tracing功能。这就是今天写这篇文章的目的。
关注了问题2017-03-03
赞了回答2017-03-03
Adapter <- ListView <- Activity <-> Presenter <-> Model
关注了问题2017-03-03
提出了问题2016-08-24
关注了问题2016-08-19
赞了回答2016-08-17
这本质上是一个方法调用。假设我们有两个类A和B,我们期望在A的某个时刻调用B的某个方法,我们可以让A保持一个B的引用,在合适的时机进行方法调用:
赞了回答2016-08-15
java内存里有个堆内存(heap),简单记忆就是凡是new出来的,都在堆内存里。java内存还有一块区域,叫常量池,像是字符串常量,都存在这里面,比如“1”.“1”肯定在常量池中了,关键在于u.getId()的值,是在常量池中,还是堆内存中了。这就要看Util的构造方法的源码了。...
回答了问题2016-07-27
A中的静态方法a,传入了一个Activity对象,然后方法结束,Activity的引用activity生命周期结束,这样不会造成泄露,没问题。
关注了问题2016-07-27
回答了问题2016-07-27
在fragment1中提供一个方法,setOnSwitchFragmentListener(OnSwitchFragmentListener listener,int index);
关注了问题2016-07-27
回答了问题2016-07-25
1.你只用一个fragment。那么,你不需要每次都调用replace方法,replace一次就够了,刷新页面你只需要在fragment里面提供一个set方法,然后在外面调用。
关注了问题2016-07-25
回答了问题2016-07-18
第一种就是 @Celery 说的判断当前api版本然后根据版本执行不同的方法。但是很多时候,发现替代方法并不好写,或者你的app必须只能使用新的api,这时候你就需要第二种方法。
关注了问题2016-07-18
回答了问题2016-07-18
试试getSupportFragmentManager()
关注了问题2016-07-18