hi Dianne~~
thanks for you answer~~ i have implmented the camera hal with v4l2,
although i used the below source, i still have some confusion. I think
the below source is a singleton mode, if the object have been freed we
will creat a new object . when i creat a new object with this code :
sp<CameraHardwareInterface> hardware(new CameraHal());
i think the "hardware" is a temp variable, it will be deleted when the
function return. And the sp is a smartpointer ,it will free the object.
But i am wrong in fact , the object have not been deleted. Can you tell
my where i am wrong ~~
thanks very much
sp<CameraHardwareInterface> CameraHal::createInstance()
{
LOG_FUNCTION_NAME
if (singleton != 0) {
sp<CameraHardwareInterface> hardware = singleton.promote();
if (hardware != 0) {
return hardware;
}
}
sp<CameraHardwareInterface> hardware(new CameraHal());
singleton = hardware;
return hardware;
}
在 2009-05-19二的 00:43 -0700,Dianne Hackborn写道:
> sp == strong pointer, wp == weak pointer.
>
> The object will remain around while there are strong pointers; it is
> destroyed once the last one is released. All you can do with a weak
> pointer is comparison and attempting to promote to a strong pointer;
> the latter will fail if there are no other strong pointers on the
> object.
>
> On Mon, May 18, 2009 at 11:56 PM, xie <[email protected]> wrote:
>
> Dear all :
>
> when i read the android source, i find that "<sp>" is not only
> a smart
> pointer,it manage a strong ref count and i also find that the
> <wp>
> manage a weak ref count .
>
> who can tell me how the two kinds of pointer works together,
> when will
> the object be freed?
>
> thanks a lot
>
>
>
>
>
>
> --
> Dianne Hackborn
> Android framework engineer
> [email protected]
>
> Note: please don't send private questions to me, as I don't have time
> to provide private support, and so won't reply to such e-mails. All
> such questions should be posted on public forums, where I and others
> can see and answer them.
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"android-framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---