【问题标题】:What does "managed" API means in Windows Phone 8 APIWindows Phone 8 API 中的“托管”API 是什么意思
【发布时间】:2014-06-16 04:09:03
【问题描述】:

在学习Windows phone 8开发的时候,发现它的API可以分为: 1. 托管(.NET API) 2. 托管和本机(Windows Phone 运行时 API) 3. 原生(Win32 & COM)

我的问题是为什么 .NET API 被称为“托管”。这个词是什么意思? 谢谢。

【问题讨论】:

  • 托管意味着代码在CLR下运行。

标签: winapi windows-phone-8 windows-phone-8-sdk


【解决方案1】:

.NET 被称为 managed,因为对象的生命周期由运行时环境(CLR,Common Language Runtime)自动管理。

相比之下,本机(和 COM)代码要求对象生命周期由开发人员管理,通过显式调用相应的清理调用(例如 deleteRelease())或使用资源管理类(例如 @ 987654323@, _com_ptr_t)。

术语托管还指CLR在代码继续运行时提供的附加服务,例如内存管理(例如提供压缩堆)、安全性(例如验证程序集的代码是否安全) /valid)、线程等。

【讨论】:

  • 只需添加 CLR 提供的异常处理基础设施。
  • @Pantelis CLR 不提供自己的异常处理基础结构。它只是使用操作系统的 SEH(结构化异常处理)工具。
【解决方案2】:

.NET 基于某种类似于 Java 虚拟机的字节码。这允许在转换对象类型时进行垃圾收集和检查。

据我所知,“托管”一词指的是 .NET 提供了一种数据管理,可以处理垃圾收集和对象转换检查(以及更多内容)。

“托管代码”是 .NET 代码的同义词(只要它不与非 .NET 对象混合)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-01
    • 2012-02-21
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多