小编Say*_*san的帖子

没有使用Multidex的Android Espresso会显示"未找到测试"

我的Espresso测试一直在运行,直到我不得不支持multidex.

我的build.gradle,我有

minSdkVersion 14
targetSdkVersion 23
multiDexEnabled = true

testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner"


androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.1'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4.1'

dexOptions {
        jumboMode true
        javaMaxHeapSize "4g"
        incremental true
    }
Run Code Online (Sandbox Code Playgroud)

Test1AuthenticationEspressoTest

@RunWith(AndroidJUnit4.class)
@SmallTest
public class Test1AuthenticationEspressoTest {
    @Rule
    public ActivityTestRule<WelcomeActivity> mActivityRule = new  ActivityTestRule(WelcomeActivity.class);

}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

junit.framework.AssertionFailedError:在com.livestrong.tracker.test.Test1AuthenticationEspressoTest中找不到测试

任何帮助将不胜感激.有人使用浓缩咖啡吗?

android android-espresso android-multidex

18
推荐指数
1
解决办法
4318
查看次数

网络回调的弱参考不好主意?

在我们的项目中,我们发现由于网络回调导致内存泄漏.网络请求从片段触发,响应通过回调片段返回.问题在于,当用户离开片段时,由于回调与之绑定,因此不会收集垃圾.因此存在泄漏记忆.

我提出的解决方案是取消片段onStop上的回调引用.这样,GC可以处理它.

我的同事建议的另一个解决方案是使用WeakReference来回调.问题是回调经常被垃圾收集,以至于我们甚至没有得到回调的响应(用户等待响应的某个时间).问题是Weak Reference可以随时使用GC进行垃圾回收.

我假设在这种情况下,使用WeakReference并不是一个好主意.

你们有什么感想 ?

android garbage-collection memory-leaks weak-references callback

6
推荐指数
1
解决办法
813
查看次数