读书人

winform里面没有关问题web里面内存

发布时间: 2014-01-12 00:03:16 作者: rapoo

求助,winform里面没问题,web里面内存泄露了。。


private List<Track> GetTrackList(string trackListUrl)
{
List<track> list = new List<track>();
FileStream file = new FileStream(trackListUrl, FileMode.Open, FileAccess.ReadWrite);
int b = Marshal.SizeOf(typeof(s_NV_FILEHEAD));
byte[] buffer = new byte[b];
file.Read(buffer, 0, b);
s_NV_FILEHEAD gpsHead = (s_NV_FILEHEAD)RawDeserialize(buffer, typeof(s_NV_FILEHEAD));
byte[] bytData = new byte[Marshal.SizeOf(typeof(s_NV_All))];
List<s_NV_All> s = new List<s_NV_All>();
while (file.Read(bytData, 0, bytData.Length) > 0)
{
s_NV_GPS_All all = (s_NV_All)RawDeserialize(bytData, typeof(s_NV_All));
Track a = new Track
{
Time = all.szTime
};
list.Add(a);
}
file.Close();
return list;
}

private object RawDeserialize(byte[] rawdatas, Type anytype)
{
int rawsize = Marshal.SizeOf(anytype);
if (rawsize > rawdatas.Length)
return null;
IntPtr buffer = Marshal.AllocHGlobal(rawsize);
Marshal.Copy(rawdatas, 0, buffer, rawsize);
object retobj = Marshal.PtrToStructure(buffer, anytype);
Marshal.FreeHGlobal(buffer);
return retobj;
}

求解 !!
[解决办法]
这里没有大神,只有帮你分析问题的普通人,信息不给全是没法分析问题的。

读书人网 >C#

热点推荐