小编Cra*_*man的帖子

什么引发黑莓"低记忆"警告?

我一直在开发Blackberry Phonegap/Webworks应用程序.如果我在OS6设备的整个使用过程中观看它,它将启动〜1mb的内存使用量.当我使用该应用程序时,内存使用量将缓慢上升(假设一个懒惰的垃圾收集器),然后通常在它达到32mb左右时,它将回落到<1mb.

如果我在一夜之间打开应用程序,我会在第二天早上回到"内存不足警告",建议我关闭我的应用程序.奇怪的部分是,我会看看设置,我的应用程序只使用〜1mb的内存,该设备有200mb RAM免费.我无法想象应用程序在没有GC启动的情况下慢慢爬升到200mb的内存使用量.

该应用程序坪在后台文件的服务器,并响应推送通知,但看着它在一两个小时的时间段既不似乎显著从缓慢爬升一边提高内存(高达〜32MB,并比GC下来<1mb).

关于BB内存管理有什么奇怪我不见了.该设备始终拥有~200mb的可用内存,我从未见过我的应用程序接近使用该数量.但如果我离开它几个小时,我会回到"记忆警告",但看到它的使用量约为1mb.把我和一个客户推到墙上.

javascript blackberry cordova

5
推荐指数
1
解决办法
694
查看次数

具有实体框架代码的XML字段优先

我正在使用Entity Framework和Code First模型(宠物项目,我喜欢编辑简单的类并自动更新我的模式).我有一个类如下:

[Table("Polygons")]
public class Polygon
{
    public int PolygonId { get; set; }
    public String Texture { get; set; }

    public virtual ICollection<Point> Points { get; set; }
}

[Table("Points")]
public class Point
{
    public int PolygonId { get; set; }
    public double X { get; set; }
    public double Y { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

将多边形存储在数据库中并能够查询其纹理对我很有用.另一方面,如果我将一个带有5,000个点的多边形保存到数据库中,则需要永远运行那么多插入,老实说,除了检索单个多边形之外,我永远不会查询点.

我喜欢做的是摆脱"Point"类中的"PolygonId",摆脱"Points"表,让Polygon表看起来像

PolygonId int PK
Texture varchar(255)
Points XML
Run Code Online (Sandbox Code Playgroud)

然后将这些点序列化为一个直接保存到表中的字符串,然后将其反序列化为一个点数组.有没有办法让EF执行此操作,或者为字段编写自定义序列化器/反序列化器,所以至少在整个代码库中使用时它似乎是自动的?

谢谢,

c# sql-server entity-framework entity-framework-5

4
推荐指数
1
解决办法
5584
查看次数