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 <yili....@gmail.com> 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 > hack...@android.com > > 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 android-framework@googlegroups.com To unsubscribe from this group, send email to android-framework+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-framework?hl=en -~----------~----~----~----~------~----~------~--~---