• 请大家注意应用中以下回调形式的内存泄露:
    <pre data-anchor-id="imcr">1.  SetXXXListener(this);</pre>
    <pre>2.  SetXXXCallback(this);</pre>
    <pre>3.  RegisterXXX(this);</pre>
    <p data-anchor-id="1ykr">例如:在SublineText用正则表达式</p>

    <pre data-anchor-id="9s8r">1.  (Set)(w*)(Listener(this);)</pre>
    <p… Read more

  • IContext

    通常是Activity,Service,Application或ContextThemeWrapper,它们一般是在继承链上的上层。

     

    根据一般的原则:上层持有下层的强引用,下层持有上层的弱引用或裸指针。

     

    因此,在将 […]

  • Probe是一个虚函数调用, 开销比普通函数调用要大,因此能减少调用就应尽量减少调用.

  • luozhaohui posted a new activity comment 1y,6mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 Elastos.Droid.Core_server.h 是什么程序?是啥时候让成出来的?什么时候需要在程序中引用它? @luozhaohui View

    那是4.2.2的遗留问题,这些代码肯定都没有参与编译的,之后编译时会改掉

  • luozhaohui posted a new activity comment 1y,6mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 Elastos.Droid.Core_server.h 是什么程序?是啥时候让成出来的?什么时候需要在程序中引用它? @luozhaohui View

    5.0 下没有这个文件了,不应该在代码中出现。

  • luozhaohui posted a new activity comment 1y,7mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 这样的编译不过 const AutoPtr< List< AutoPtr<IOnGestureListener> > > mOnGestureListeners; 需要写成: const AutoPtr< List< IOnGestureListener *> > […] View

    #include ”elastos/droid/ext/frameworkext.h”
    #include <elastos/utility/etl/List.h>

    在使用 etl 头文件之前需要一些宏的定义,这个定义在 framework 中可先包含frameworkext.h。

  • luozhaohui posted a new activity comment 1y,7mo

    In reply to: xilongpei posted an update GestureOverlayView依赖于FrameLayout,FrameLayout需要4个参数的构造函数还没有提供。 FrameLayout(context, attrs, defStyleAttr, defStyleRes); 大型工程中,如何处理这类开发依赖?靠任务系统来管理? @luozhaohui View

    现在只能在代码中注释掉,加上 assert(0 && ”TODO”); 标记。

  • luozhaohui posted a new activity comment 1y,7mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 定义在car文件中的常量,如GestureOverlayView.car中的一段: interface IGestureOverlayView { const Int32 GESTURE_STROKE_TYPE_SINGLE = 0; const Int32 […] View

    模块外部:Elastos.Droid.Core.h
    模块内部:Elastos.Droid.Core_server.h

    通常只要包含 ”elastos/droid/ext/frameworkext.h” 即可,该头文件会检测是模块内部还是外部从而导入正确的头文件。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 下面两种调用ToString()方法的差异是什么? @luozhaohui str2 = Object::ToString((IStringWriter *)aa); IObject::Probe(aa)->ToString(&str2); View

    没有区别呀。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 从一个接口中Probe另外一个接口时,是要一级一级地Probe(先Probe出父接口,再在父接口中Probe出另外一个接口),如下例: AutoPtr<IOutputStream> ios; AutoPtr<IFlushable> ifs; ios = […] View

    Probe 是一个虚函数,可以从任意一个接口 Probe 出对象所实现的其他car接口。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 Involve现在是不是CAR的一个关键字?也就是在我定义子接口所在的CAR类时,必须把这些父接口同时定义。如下例: /** * @Involve * interface ICloseable; * interface IOutputStream; */ […] View

    involve 目前还不是关键字,保留这个留作注释说明,以后或许会扩展。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 把String中的内容取到数组中: AutoPtr<ArrayOf<Byte> > GetBytes(Int32 start = 0) 数组的元素是Byte类型,但没有把Byte类型ArrayOf转成String的方法。 @luozhaohui @caojing View

    explicit String(const char* other);
    explicit String(const char* other, Int32 numOfBytes);

    如下转换即可:
    String((const char*)array->GetPayload())

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 1、String 如何 搞出个接口IInterface事代表它? 2、帮确认java/io/ObjectOutputStream.java是不是没有Elastos呢? @luozhaohui View

    ObjectOutputStream 是和序列化相关的,序列化暂时不支持。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 1、String 如何 搞出个接口IInterface事代表它? 2、帮确认java/io/ObjectOutputStream.java是不是没有Elastos呢? @luozhaohui View

    AutoPtr<ICharSequence> seq;
    CString::New(str, (ICharSequence**)&seq);

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 把Java程序翻译成c++时,遇到这样的程序: ServerSocketChannel serverSocketChannel; serverSocketChannel.close(); 我先找接口interface […] View

    /**
    * @Involve
    * interface Elastos.IO.Channels.IChannel;
    * interface ISelectableChannel;
    */

    /**
    * @Involve
    * interface ICloseable;
    */
    interface IChannel {

    追踪它的父接口,IChannel–>ICloseable
    使用时 ICloseable::Probe(XX)->Close();

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 实现 IThread 的 CAR 类必须调用基类 Thread 的某个 constructor 以便进行必要的初始化,那么,实现IThread的是不是只能是CAR类呢?因为要是CAR类,就需要New来得到它的实例,而New要求必须有.car文件。可是,创建一个Thread是个很轻的行为,象Java里,随便一new […] View

    可以参考 HelloCar 中的示例。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 下面两个CAR构件的cpp源码在哪里? @luozhaohui […] View

    这个目前还没有实现。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 实现 IThread 的 CAR 类必须调用基类 Thread 的某个 constructor 以便进行必要的初始化,那么,实现IThread的是不是只能是CAR类呢?因为要是CAR类,就需要New来得到它的实例,而New要求必须有.car文件。可是,创建一个Thread是个很轻的行为,象Java里,随便一new […] View

    导出符号的类,放置在 .def 文件中,比如:Elastos.CoreLibrary.def。Thread 是导出的,可以直接继承。

    所有的car 类是不允许直接继承的。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 假设某函数fun的原型为: fun(String str); 那么,这样的函数调用 void test(void) { fun(String(”mystr”)) } 会引导起内存泄漏吗?因为String(”mystr”)这个对象的构造没有包装为AutoPtr,没有人会主动替它Release()。 @luozhaohui […] View

    以下两个用法含义是一样的:
    String str(”dd”);
    fun(str);
    -----------------
    fun(String(”dd”));

    后者构造了一个临时对象。

  • luozhaohui posted a new activity comment 1y,9mo

    In reply to: xilongpei posted an update in the group Elastos核心开发组 这样的Java程序,如何用CAR来表述? 通过继承方式扩展已有CAR构件。 @luozhaohui public void test_subclassing() throws Exception { class MyFile extends File { private […] View

    需要导出基类的 File 的符号,然后自定义 MyFile 类,继承 File 类。目前 File 类还没有导出。

  • Load More