垃圾的Java包名规范!

Java或Android包名,按照传统,写成反转的域名形式。网上对这种写法的好处说得头头是道,但其实是有问题的。

“包名约定是避免冲突”
“Sun 推荐的避免包名冲突方法:把开发组织的域名倒过来写。”[1]. 为什么android的package name的名字一般以com.开头?. 知乎. [2019-07-21].

那个人没有域名怎么办?有的人说用personal[……]

继续阅读

   [ + ]

Android OS提升编译速度

make不需要加参数-j,CPU已经到达100%。

编译时,我remmina远程连接到另一台电脑工作,remmina CPU占用约1%,我认为其影响可以忽略。

测试流程

  1. 删除out目录,删除ccache目录。
  2. 运行make,计算编译时间
  3. 计算启动操作系统到桌面的时间。对于模拟机,运行emulator命令。对于真机,运行time build/make/flash.sh
  4. 检出ART项目的master分支
  5. 运行make,计算编译时间
  6. 坚持ART项目的debug分支
  7. 运行make,计算编译时间
  8. 计算启动操作系统到桌面的时间。对于模拟机,运行emul[......]

继续阅读

Android应用权限源码分析

问题症状

void FieldInstrumentationListener::OpenPerfLog() {

  std::string pid_str = std::to_string(getpid());
  time_t n = time(nullptr);
  struct tm* local = localtime(&n);
  char strTime[80];
  strftime(strTime, 80, "%Y-%m-%d %H-%M-%S", local);
  std::string perf_filename = std::string(kLog[......]

继续阅读

XCOM 2全职业加点及装备搭配

指导思想

有两种关卡类型。一种持久战,即会到很多敌人,如最后一关。这种关卡里一次性用品价值较低。所以不论装备还是技能,都要选择能不限次数释放的。按照这种指导思想,装备不带手榴弹、战场扫描器、拟态信标等一次性用品,带子弹、背心等。

另一种关卡类型是boss战,boss指血量特别多的敌人,如瓦伦博士的毒蛇洞,那里会见到毒蛇怪国王,接下来的战斗会遇到狂战士女皇和执政官国王。对于这种战斗最好每个人都装中继器。

boss战只有这么三场,所以我倾向于以持久战方式加点。

狙击手

狙击手都是用射的,所以武器强化和装备要对每次射击提供加成。不符合的有自动装填。

死神天降、微力[……]

继续阅读

Android用命令行启动应用

Android是基于Linux内核的操作系统,用Java写的应用程序被Android运行时虚拟机运行。

因为Android是基于Linux的,而Linux执行ELF格式的可执行文件,所以用C++编写的ELF格式的可执行文件也可以在Android运行,但有些限制。首先,Android /sdcard目录不能给文件设置+x可执行位,而把文件复制到其他文件夹需要root权限。其次,把一般Linux里的ELF可执行文件复制到Android,是不能运行的,因为系统架构等不匹配。但是,从Android Open Source Project(AOSP)源代码里可以验证,Android操作系统里的许许[……]

继续阅读