- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在添加一个 ViewFlipper
从布局资源扩展到 ListView
作为 Footer
。这是我的脚蹼布局(为简洁起见省略了细节):
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>
我将它添加到我的 ListView 使用:
mListView.addFooterView(mLoadMoreFlipper);
当我的 Activity 被销毁时,我在 LogCat 中看到以下消息,后跟一个调用堆栈:
Activity com.gk.ItemListActivity has leaked IntentReceiver android.widget.ViewFlipper$1@44c84ab0
that was originally registered here. Are you missing a call to unregisterReceiver()?
我做了一些挖掘,发现消息与不注销接收者有关,除了我还没有注册。奇怪的是,仅当页脚 ViewFlipper
在销毁前从 ListView
中删除(通过使用后退按钮)时,才会出现此消息。当我不再需要页脚时,我会使用以下方法分离页脚:
mListView.removeFooterView(mLoadMoreFlipper);
我曾尝试对 ViewFlipper
使用 WeakReference
但这没有帮助。我还尝试将 mLoadMoreFlipper
引用设置为 null
但这也无济于事。
有没有人遇到过这个问题?这似乎与我的 Activity 在从 ListView
分离后持有对 ViewFlipper
的引用有关,但我不知道如何显式销毁 ViewFlipper
.
最佳答案
参见 View Flipper Throws Exception in ViewFlipper.onDetachedFromWindow .显然 ViewFlipper 中存在错误。其中包含解决方法。
关于android - Activity 泄露了 IntentReceiver android.widget.ViewFlipper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701042/
我的 onCreate() 中有以下代码: registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_
我在特定 Activity 中通过单击按钮打开发送菜单: Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); i.p
我使用 addProximityAlert: Intent intent = new Intent(getString(R.string.intent_message_location_fetched
在我的 Android 应用程序中,我有一个 Activity MainActivity,它有一个 Fragment MainFragment,它启动一个 IntentService,然后转换到 Ac
E/ActivityThread( 655): Activity com.android.internal.app.ChooserActivity has leaked IntentReceiver
我正在编写非常简单的应用程序。它工作正常,但是当我按下后退键时它崩溃了(Activity 泄露了最初在此处注册的 IntentReceiver)。这个应用程序应该在后台运行。如何正确执行? impor
我正在尝试一起发送短信和邮件。发送邮件没有问题,但是当我发送短信时收到此异常: End has leaked IntentReceiver Are you missing a call to unre
程序员。我正在做一个 Proximity Alert App,想知道如何从 ProximityIntentReceiver extends BroadcastReceiver 发送 SMS,即在进入特
在我的 Widget 中,我使用: Intent intent = new Intent(context, ClassForWidget.class); PendingIntent pendingIn
场景如下,我有一个 LoginActivity,它使用 WifiManager 来获取 IP 地址,如下所示: WifiManager wifiManager = (WifiManager)getSy
在 list 中,我只有 Activity ,接收器上没有任何服务。当我完成 Activity 时,我在 logcat 中看到了这个: E/ActivityThread: Activity com.e
mapView = (MapView) findViewById(R.id.mapview); mapView.onCreate(savedInstanceState); mapVie
我正在构建一个需要 IntentReceiver 的小应用。 其实我是Android开发新手,iOS开发后正在做switch。我有以下代码: package com.TheIntent; import
我正在制作一个安卓应用。我正在制作一项服务,该服务在用户选中 checkbox 时一直在后台运行,当用户 unckeck 时它应该停止。所以当我选中该框并且它还显示“服务启动” toast 时它确实有
我希望能在这里找到一些帮助,因为我不熟悉 Android 中的 BroadcastReceivers。这段代码打开一个 WebView,将您重定向到登录页面,并在检测到 URL 更改后接收登录 tok
在将此帖子标记为已关闭或重复之前,我想说的是,我已经完成了类似帖子中提到的所有事情,但都没有奏效。 我有 2 个接收器,我从中获取数据。所以我想在 Activity 开始时注册接收器,并在 Activ
我的 Android 应用程序中有一个 MapActivity,它使用 osmdroid(Open Street Map for Android 库)显示 map 。 当我在此 MapActivity
我正在使用前台 Android Service 通过 REST API 通过 Retrofit 请求资源,作为每 60 秒的计时器。此类服务也在与应用程序不同的进程中运行,这是必要的,这样 Andro
我希望我的应用程序在用户触摸 GLSurfaceView 时在 GLSurfaceView 上显示 ZoomButtonsController。我的 Activity 构造函数如下所示: _zoomB
IntentReceiver 正在泄漏 由于 onDetachedFromWindow 在某些情况下未被调用。 @Override protected void onDetachedFromWind
我是一名优秀的程序员,十分优秀!