小编Ram*_*mli的帖子

Android Studio 3中找不到HPROF Analyzer工具

HPROF Analyzer/Analyzer任务是android studio 2中的一个很好的工具,可以帮助检测内存泄漏.它比使用eclipse MAT工具耗时少.但是,我无法在AS3中使用新的Android Profiler找到它.

任何帮助是极大的赞赏!

android memory-leaks hprof android-studio-3.0

11
推荐指数
1
解决办法
3697
查看次数

如何禁用更新项目时发生的 RecyclerView (ListAdapter) 自动滚动?

背景

我有一个用户界面,显示用户全名列表,每个项目都有一个喜欢/不喜欢按钮。我正在使用一个ListAdapter底层用途DiffUtilAsyncListDifferAPI。用户列表作为 LiveData 从 Room 数据库接收,并按"isLiked" 排序

问题

每当点击“like”按钮时,Room(因为我正在使用 LiveData)会将新数据重新提交到适配器。问题是,由于列表按“isLiked”排序,喜欢的用户将更改其位置,并且 RecyclerView 将始终滚动到新位置。

我不想看到更新项目的新位置。那么,如何禁用自动滚动行为?

我尝试过的

MainActivity.kt

    ..
    val userAdapter = UsersAdapter(this)
    val ll = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
   
    recyclerView.apply {
        layoutManager = ll
        adapter = userAdapter
        itemAnimator = null
        setHasFixedSize(true)
    }
    
    viewModel.users.observe(this, {
        // This will force the recycler view to scroll back to the previous position
        // But it's more of a workaround than a clean solution.
        val pos = ll.findFirstVisibleItemPosition()
        userAdapter.submitList(it) { …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview android-paging android-diffutils android-listadapter

11
推荐指数
0
解决办法
1461
查看次数

何处将REST API调用放在Bob叔叔的清洁架构中?

我正在尝试在我的Android应用程序中使用Bob叔叔的干净架构.所以,我跟着这个人基于RxAndroid,Dagger 2 for DI 的伟大实现.
我知道要从数据存储(云或本地数据库或磁盘)获取数据,Interactors(域层中的用例类)将调用数据层中的存储库.

在我的例子中,我必须执行两个并行的REST API调用(Foursquare API和Google放置API),然后比较每次调用的接收数据.
我是否必须将这些Retrofit调用的实现放在数据层中或域层中的Interactors内?
如果任何外部API调用属于数据层,那么在Bob叔叔的方法中,交互者的角色到底是什么?

我是这种方法的新手,非常感谢任何帮助!

architecture mvp android

5
推荐指数
1
解决办法
1999
查看次数