Android - 切换片段时内存使用量持续上升

时间:2016-04-15 13:40:02

标签: android android-fragments

我有一个Activity,其中包含很多Fragments ..其中许多FragmentsRecyclerView,而RecyclerViewArrayList持有RecyclerViewAdapter 1}}在他们自己的RecyclerViewAdapter内。

首先怀疑,我的所有AdapterName(Context context)构造函数都是:Adaptercontext有自己的context变量,这可能意味着Fragment总是由Adapter持有并导致记忆问题。

其次,仍然在String中,我将从API中获得的所有数据存储在变量中。数据数组很复杂,主要包含integerboolean(有些包含Object,有些包含ObjectObject位于Fragment内,但数量可能是..如果用户继续向下滚动,那么数量很大..Android Studio的内存监视器会继续向上滚动..

第三,当Fragment放在后台时,Fragment中的其他东西(或很多东西)都没有被销毁。通过按回来从后台返回也不会减少内存消耗..

现在我只能怀疑这三件事,因为我不知道还有什么问题。任何人都能指出我正确的方向吗?或者基于我如何管理 //Create a list to store discretes boolean[] boolist = new boolean[1024]; //Read values from the site and assign them to the boolean array mbc.readInputDiscretes(1, 0, boolist); for (int i = 0; i < boolist.length; i++) { //Checks to see if the alarm is alarmed. Do not be alarmed if the alarm is alarmed. if(boolist[i]){ //For each value of true we create a new alarm tag, set the alarm to active within the system, record its site ID and its Tag ID. TagInfo alarmtag = new TagInfo(true, InfoBox.getSiteID(), i); //THE ITERATOR ABOVE ONLY RETURNS 0, HOWEVER IT ITERATES THROUGH THE LIST PROPERLY. SO ALL TAGS ARE NOTICED BUT RETURN WITH AN ID OF 0. AHHHHHH. //Add the tag to the list to return. alarmtags.add(alarmtag); } } 内容的任何内存管理建议? (如果我遗漏任何必要的细节,请通知我)

0 个答案:

没有答案