我正在为餐馆开发POS应用程序。事情很好,除了经过一段时间后应用程序变得非常缓慢。响应似乎迟了2秒,然后我们需要重新启动应用程序。 这是它的样子:
每当选择食物类别时,例如COLD DRINK,我会删除其下面的先前食物并根据所选类别添加新项目。
所以,对我而言,当我经常在面板中添加和删除视图(GridLayout)时,应用程序变得越来越慢。
我只是gridLayout.removeAllViews();
删除所有观看次数。
有谁能告诉我如何解决这个问题?
答案 0 :(得分:0)
您正在删除这些视图,但它不需要销毁,因此它们会继续占用内存资源。
使用适配器(如ListView或RecyclerView)使用某种类型的列表会更好,您可以添加或删除视图,它们只会在显示时占用内存(或者所有显示更多的内存)。
您可以执行以下操作:
ArrayList<String> listItems = new ArrayList<>();
listaItems.add(yourString); // call that ever you have to add new itens
ArrayAdapter<String> itemsAdapter =
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);
ListView listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(itemsAdapter);
删除类似的内容:
listaItems.remove([INDEX]);
itemsAdapter.notifyDataSetChanged();