6
Answers

Deterministic deletion of the managed object

In .net, the unmanaged resources like file handles, database connections, etc... can be deleted or freed at any time through the dispose method. But there is no way for the determinstic deletion of the managed objects. The managed objects are deleted by the garbage collector only when it runs. we can not predict when the GC runs. It runs when the generations are full based on the generation algorithm. The main problem of not having the deterministic deletion of the managed objects to which there are no further references existing in the program is that they occupy the main memory unnecessarily till the time the GC runs even though there is no use of them.
    The memory management job has been taken from the developer and given to the GC to get rid of 2 problems which troubled the unmanaged c++ programmers a lot. They are 1. Memory leaks and 2. Access violations.
    The reason behind not providing the deterministic deletion of the managed objects to the developer is to avoid access violations. That is good and safe. But it causes the above problem. It would be better if there is any other approach to avoid the access vioaltions while providing a way to the developers to delete the managed objects.
Answers (6)
0
Mahesh Chand
2 286.9k 123.7m 14y
If you build a Web application in ASP.NET, it can be browse from any of these mobile devices using a Web browser (all of them have a Web browser).

But if you want to build applications for iPhone, and other mobile devices, you need to use their SDKs. For example, you need to use Mono Touch to build iPhone applications and andriod SDK to build droid applications.

Here are more readings on Mono Touch. See Blogs.

Mono Touch