

function getFileList(fileHz)
	local fileList=gg.getRangesList(fileHz)
	fileList=clssType(fileList)

	local MenuDataTable={}
	--拼接二级菜单
	for i,item in pairs(fileList) do
		table.insert(MenuDataTable,i)
	end
	local MenuSo=gg.choice(MenuDataTable,nil,"可选择需要查看的内存")

	local num=0;
	for i,item in pairs(fileList) do
		num=num+1;
		if MenuSo==num then
			--拼接三级菜单
			local fwMenu={}
			for j,itemSub in ipairs(item) do
				local subDataStr={}
				table.insert(subDataStr,itemSub['name'])
				table.insert(subDataStr,' 内存范围:')
				table.insert(subDataStr,string.upper(itemSub['start']))
				table.insert(subDataStr,'~')
				table.insert(subDataStr,string.upper(itemSub['end']))
				table.insert(fwMenu,table.concat(subDataStr))
			end
			local fqMeun=gg.multiChoice(fwMenu,nil,"可选择需要冻结的内存范围")
			if fqMeun~=nil then 
				for q=1,#fwMenu do
					if fqMeun[q] then
						local feStr=str_split(fwMenu[q],':')
						feStr=feStr[#feStr]
						print(feStr)
					end
				end
			end
		end
	end
end

function clssType(fileList)
	local MemoryType={}
	for	i,item in ipairs(fileList) do
		item['start']=string.format("%#x",tostring(item['start']))
		item['end']=string.format("%#x",tostring(item['end']))
		local fileName= str_split(item['name'],'/')
		item['name']=fileName[#fileName]
		if MemoryType['查看 '..item['state']..' 内存']==nil then
			MemoryType['查看 '..item['state']..' 内存']={}
		end
		table.insert(MemoryType['查看 '..item['state']..' 内存'],item)
	end
	return MemoryType
end

function str_split(strData, strSub)
	if not strData then 
		return nil 
	end

	local tabData = {}
	for item in string.gmatch(strData,string.format("([^%s]+)", strSub)) do
		table.insert(tabData,item)
	end
	return tabData
end

--清除冻结数据
function clearFreeze()
	gg.clearList()
	gg.toast("清除冻结数据成功")
end

getFileList('.so$')
