请教各位高手:为了少写一行代码,我加入静态化的Instance函数,是否正确?谢谢!!!自从采用这种方式后,可以少写一行新建类的代码,但发现内存似呼爆涨的利害,是否与
这种结构不合理造成的呢?1) 类的定义 public class Users
{
public static Users Instance()
{
return new Users();
} public int Login(AccountInfo accountInfo)
{
...
} }2) 调用类int retval = Users.Instance().Login(accountInfo)
这种结构不合理造成的呢?1) 类的定义 public class Users
{
public static Users Instance()
{
return new Users();
} public int Login(AccountInfo accountInfo)
{
...
} }2) 调用类int retval = Users.Instance().Login(accountInfo)
如果要想办法降低内存的占用,看看这篇文章,希望对你有帮助:使用AppDomains来降低.NET程序的内存开销
http://www.codeproject.com/dotnet/AppDomainMemImprovement.asp
关键是你键了多少个对象~~??
请大哥指教啊. ...
不过不明白你这么做少写了哪一行代码? 用new是一样的: int retval = new User().Login(...)
不用几分钟能涨几十M,upGetTopSubCategory是一个存储过程,每次只返回100多条记录,
哪儿的问题造成内存上涨呢?去掉这块代码,怎么刷新也不会有问题。/// <summary>
/// 显示主分类信息
/// </summary>
private void ShowCategory()
{
SqlConnection sqlConn = new SqlConnection(Database.CONN_STR_WEB_DB); SqlDataAdapter da = new SqlDataAdapter("upGetTopSubCategory",sqlConn); da.SelectCommand.CommandType = CommandType.StoredProcedure; SqlParameter parm = new SqlParameter("@type", SqlDbType.TinyInt, 1);
parm.Value = type; da.SelectCommand.Parameters.Add(parm); DataSet ds = new DataSet(); if(da!=null)
{
da.Fill(ds,"subCategory");
da.Dispose();
} ds.Clear();
ds.Dispose();
}
参见:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/episode.aspx?newsID=1242318