为什么WP8计划任务加载实际的应用程序DLL?

时间:2013-09-18 00:11:40

标签: windows-phone-8

不确定是否有其他人遇到此问题,但每当我在visual studio中调试我的计划任务时,我发现计划任务主机加载了父app DLL。我在输出窗口看到它。我没有提及它,也没有使用任何资源。

'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: DefaultDomain): Loaded 'C:\windows\system32\mscorlib.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Windows.RuntimeHost.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Windows.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Net.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Xml.ni.dll'. 

// This is the actual app DLL!!
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\Data\Programs\{79787132-3A86-445F-BDD5-206D298D732F}\Install\MyWP8App.DLL'. Symbols loaded.

'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.Interop.ni.dll'.  

// This is the scheduled task DLL (as expected)
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\Data\Programs\{79787132-3A86-445F-BDD5-206D298D732F}\Install\MyWP8ScheduledTask.DLL'. Symbols loaded. 

// This is the portable DLL for shared logic (as expected)
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\Data\Programs\{79787132-3A86-445F-BDD5-206D298D732F}\Install\MyWP8App.Shared.DLL'. Symbols loaded.

'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Threading.Tasks.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Core.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Runtime.Serialization.ni.dll'. 

为什么会这样?当计划任务开始时,我的内存使用量已经达到4.4MB!

1 个答案:

答案 0 :(得分:0)

我的猜测是,它被加载以找到对作为实际计划任务的相应DLL的引用。

请注意,在调试器下分析内存时,调试器会为进程使用的内存添加~3MB。因此,您无法准确分析调试器下的内存使用情况。另请注意,调试器下未强制执行内存限制,因此这不是一个真实的测试 重要的是只在不在调试器下的情况下描述和关注内存问题。是的,这使得跟踪稍微尴尬,但这是一个现实的测试。

除非你有真正的问题,你可以明确地说明这一点,我不会担心。