Android 8.1 ANR traces文件导出

Android 8.1 ANR traces文件导出 最近测试反馈,在某些android系统上发生anr,但是traces文件无法导出,经过搜索,找到下面方案。 (吐槽一下,网上根本搜索不到类似问题,最后还是去google 开发者官网上找到的) 一共两种方式: 第一种:

Continue Reading →

Posted in: c++

组件化方案调研

组件化概念 组件化就是将一个app分成多个Module,如下图,每个Module都是一个组件(也可以是一个基础库供组件依赖),开发的过程中我们可以单独调试部分组件,组件间不需要互相依赖,但可以相互调用,最终发布的时候所有组件以lib的形式被主app工程依赖并打包成一个apk。

Continue Reading →

Posted in: c++

android 中handler与looper

   Handler的概念: 顾名思义,handler在英语中是“操作着,处理者的意思”,而官方的文档给出的概念是,handler允许你发送或者处理Message对象或者Runable对象,这两个对象都是与线程的Message queue相关联的。每一个handler的实例(一个线程中可以有多个)都与单个的线程和那个线程对应的Messagequeue 关联,而处理的先后则按照发送消息的先后,先进先出进行处理。 根据自己的理解,handler主要负责message的发送与消息的处理。

Continue Reading →

C++ Socket超时设置

用winsocket时,send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,可以设置收发时限: int nNetTimeout = 1000; //1秒 //发送时限 setsockopt( socket, SOL_SOCKET, SO_SNDTIMEO, ( char * )&nNetTimeout, sizeof( int ) ); //接收时限…

Continue Reading →

Posted in: c++

new 与 malloc的区别

1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存 2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。

Continue Reading →

Posted in: c++

条款11:在operator中处理“自我赋值”

自我赋值出现在对象自己给自己赋值的过程中。 有时候容易察觉,有时候不容易察觉。特别是当在有继承关系的类对象中,一个基类的引用或指针可以指向子类的对象。 class Book{}; class Store{ private: Book *pb;//指向一个从heap分配的对象 } Store & Store::operator = (const Store & st) { delete…

Continue Reading →