boj*_*jan 2 android algolia instantsearch instantsearch-android
当我使用InstantSearch Android时,会出现内存泄漏.
请参阅以下MainActivity泄漏内存... hprof显示它是一个问题com.algolia.instantsearch.ui.views.Hits.什么人知道如何在被摧毁时摧毁那个视图Activity?
public class MainActivity extends AppCompatActivity {
private Searcher searcher;
InstantSearch helper;
Hits hits;
LinearLayout activity_main;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
hits= (Hits) findViewById(R.id.hits);
activity_main= (LinearLayout) findViewById(R.id.activity_main);
searcher = Searcher.create("app_id","secret_key","Items");
helper = new InstantSearch(this, searcher);
helper.search();
}
@Override
protected void onDestroy() {
searcher=null;
helper=null;
hits.clear();
hits.removeAllViewsInLayout();
hits.removeAllViews();
hits.destroyDrawingCache();
hits.setBackground(null);
hits.setBackgroundResource(0);
hits=null;
activity_main.removeAllViewsInLayout();
activity_main.removeAllViews();
activity_main.destroyDrawingCache();
activity_main.setBackground(null);
activity_main.setBackgroundResource(0);
activity_main=null;
Log.i("AppInfo","Destroy");
super.onDestroy();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的activity_main.xml:
<LinearLayout
android:id="@+id/activity_main"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
xmlns:algolia="http://schemas.android.com/apk/res-auto">
<com.algolia.instantsearch.ui.views.Hits
android:id="@+id/hits"
android:layout_width="match_parent"
android:layout_height="wrap_content"
algolia:itemLayout="@layout/hits_item"
algolia:autoHideKeyboard="true"
algolia:hitsPerPage="20"/>
Run Code Online (Sandbox Code Playgroud)
这是我的hits_item.xml:
<layout xmlns:algolia="http://schemas.android.com/apk/res-auto">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/profImg"
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/placeholder_video"
algolia:attribute='@{"profilePic"}'/>
<TextView
android:id="@+id/hit_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
algolia:attribute='@{"name"}'
algolia:highlighted='@{true}'/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我们刚发布修复程序.如果您更新到1.1.4,现在可以解决此问题.只需添加您的活动onDestroy以下代码:
@Override
protected void onDestroy() {
// ... your code ...
searcher.destroy(); // This will clean and release different listeners
super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到它
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |