我有一个Activity
,其中包含很多Fragments
..其中许多Fragments
有RecyclerView
,而RecyclerView
有ArrayList
持有RecyclerViewAdapter
1}}在他们自己的RecyclerViewAdapter
内。
首先怀疑,我的所有AdapterName(Context context)
构造函数都是:Adapter
而context
有自己的context
变量,这可能意味着Fragment
总是由Adapter
持有并导致记忆问题。
其次,仍然在String
中,我将从API中获得的所有数据存储在变量中。数据数组很复杂,主要包含integer
或boolean
(有些包含Object
,有些包含Object
,Object
位于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);
}
}
内容的任何内存管理建议? (如果我遗漏任何必要的细节,请通知我)