0%

作者:jasonkent27
转载请注明出处:www.cnblogs.com/jasonkent27

1. 前言

1.1 最短路引入

小明和小天现在住在海口(C1),他们俩计划暑假到三亚(C4)玩一趟,在海口和三亚之间有许多中间城市(文昌,临高,乐东,万宁…)图中的边上的数字是他们到达该城市必须的花费,现在需要你帮他们俩找出一条从海口到三亚的最省钱的路径出来。

阅读全文 »

1. 前言

最近一周,陆陆续续把《编码:隐藏在计算机背后的语言》看完了。不得不佩服作者深厚的计算机功底,更佩服作者能把抽象的计算机硬件和软件说得如此明白,透彻。通过简单小故事入手,深处浅出,娓娓道来。佩服的同时也在感叹,为啥这样一本好书,竟从没在计算机类书籍TOP100榜单中出现过。不可否认,如今的大部分程序员几乎不需要详细知道计算机底层相关知识也能把手头的工作做完,但知道了底层原理更能让我们如虎添翼,比别人走得更远。

阅读全文 »

1. 前言

本文在上一篇自定义gradle插件(一)的基础上,通过使用Android提供的transform-API和ApsectJ代码插桩,完成Android统计主线程方法耗时功能。

阅读全文 »

1. 问题

对于给定的序列,求该序列中最长上升子序列长度
如:
8 2 7 1 9 10 1 4 3 5

最终输出4(最长上升子序列为[2,7,9,10])

阅读全文 »

前言

通常,在Android Studio中使用gradle插件有两种方法

  • 把插件源码放到rootProjectDir/buildSrc/src/main/groovy目录,自动编译
  • Plugin打包成jar,发布到仓库(本地或远程),项目直接引用如apply plugin: ‘com.android.application’
    最常用的是第二种方式,今天我们就来分析一下怎么使用Android Studio自定义插件
阅读全文 »

1. 基本流程

  • 使用aapt工具分析资源文件,生成R.java
  • 使用aild工具把所有aidl文件转成java文件
  • 使用javac编译所有的java文件,生成class文件
  • 使用dx工具把class文件转成dex文件
  • 使用apkbuilder生成apk
  • 使用jarsigner给apk签名
  • 使用zipalign对齐
阅读全文 »

1. 前言

PC时代,把某些软件卸载后会弹出一个网页,用来收集反馈信息,以便产品更好决策。在移动时代,Android其实也可以做到同样的功能。

阅读全文 »