安卓内存泄漏检测及原因分析

一 内存泄漏检测方法

1.自行生成Heap Dump文件分析内存

​ Heap Dump是堆转储文件,其中包含很多内容:

  • 所有的对象信息
    对象的类信息、字段信息、原生值(int, long等)及引用值
  • 所有的类信息
    类加载器、类名、超类及静态字段
  • 垃圾回收的根对象
    根对象是指那些可以直接被虚拟机触及的对象
  • 线程栈及局部变量
    包含了转储时刻的线程调用栈信息和栈帧中的局部变量信息

Android Maven私有库搭建

一. 环境搭建

  1. 系统信息

    • 操作系统: Mac OS 10.14.5
    • Android Studio: 3.3
    • Kotlin: 1.3.11
    • Gradle: 4.10.1
  2. 安装
    官网下载最新的OSS nexus安装包,可能速度会有点慢,解压到系统的任一目录下即可, 我放到了应用程序的目录里。

realm使用小结

一. 准备工作

  • Android Studio 版本大于 1.5.1
  • JDK 版本大于 7.0
  • 最新的 Android SDK 版本
  • Android API 大于等于 9

在项目的build.gradle中配置相关信息。

1
2
3
dependencies {
classpath "io.realm:realm-gradle-plugin:6.0.1"
}

图床迁移记录

起因

15年开始就一直以七牛做图床,空间流量对我这个小博客来说完全够用,然鹅一年前开始,七牛收回了下发的测试域名,只能用备案的域名,我这个小域名没有备案,所以也就没办法继续使用了。所以开工吧

一. 配置qshell账号

迁移的话我们需要把我们之前存储的图片导出来,七牛有一个qshell 可以帮助我们进行操作。先下载qshell包到本机,解压,查看是否可以正常运行。执行

1
$ qshell account ak sk

iOS12Notication

前言

在苹果2018年6月新召开的WWDC大会上, 苹果针对iOS12提出了许多新的框架和功能. 具体有什么可以看这里.今天主要就其中Notifications新增的特性做一些了解. 原文中对iOS12推送的描述是这样的:

Notification content app extensions now support user interactivity in custom views. If the content of your app’s notifications needs to prompt user interaction, add controls like buttons and switches.

意思是推送通知的扩展内容支持与用户的交互, Notification Extension是iOS10的时候苹果推出的通知扩展内容,我们可以自定义通知内容的样式,但是是不允许交互的.除此之外, 此次还新增了,推送分组功能,通知中心多了管理功能,还多了几种权限管理的功能. 这是我做的demo的gif,接下来让我们一一摸索下.

利用UIDocumentPickerViewController从手机上传文件到app

有时候会有这么一些需求,需要用户上传自己的一些xml,doc,pdf文档.可是iOS上并没有直观的文件管理系统.这时候Document Picker就可以帮助我们访问iCould,dropBox等应用中的文件.然后进行相关操作.

使用

首先应该在项目中添加对iCould的支持, 在TARGETS-Capabilities中把iCloud的按钮打开,勾选iCloud Documents.

Xcode8.1踩坑日记

biubiu

手贱升级到8.1, 然后运行项目的时候出现了

1
Code sign error : bundle format unrecognized, invalid, or unsuitable

发现模拟器报错,真机可以运行.然后试了下在8.0的版本下也是好的.随后开始SO,发现了几个解决办法,逐一测试.

learnSwift keep update

开始学习swift,尝试做个小项目,边做边查边记。

  • 函数

func 定义一个函数名,后面括号跟着参数名和参数类型,箭头后是返回值类型
里面还涉及到一个字符串拼接,直接利用+或者+=拼接,不是变量的话需要””包起来。

1
2
3
4
5
6
7
8
9
10
11
func sayHello(personName: String) -> String {
let greeting = "Hello, " + personName + "!"
return greeting
}
类似于
-(NSSting *)sayHello:(NSString *)personName
{
NSString *greeting = [NSString StringWithFormat:@"Hello, %@!", greeting];
return greeting
}

关于三年前减肥的一些记录

忽然被同事问到减肥的一些经历,想起以前在贴吧有发过帖子对每天的饮食,运动量,体重做过记录。现在移植到自己的博客中,不得不说记录下来的东西隔几年再去翻一翻真有一种特殊的感觉。

写在前面的总结

从小胖到大,作为一个胖子没有不想减肥的,然而每次也只是百度一下如何减肥,然后看一眼完事。大二的那个假期突然来了兴致。去看了一个叫男人减肥的贴吧。看到许多成功案例之后也买了根跳绳走向了我的减肥之路。

当时减肥总共经历了两个月。从80kg-67kg,减掉25斤的样子(身高176).

方法:全联盟的人都知道,管住嘴迈开腿