berber78
码龄16年
关注
提问 私信
  • 博客:1,188,617
    社区:828
    1,189,445
    总访问量
  • 202
    原创
  • 2,161,380
    排名
  • 360
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2008-07-09
博客简介:

berber78的专栏

查看详细资料
个人成就
  • 获得235次点赞
  • 内容获得162次评论
  • 获得200次收藏
创作历程
  • 2篇
    2018年
  • 5篇
    2017年
  • 5篇
    2016年
  • 61篇
    2015年
  • 89篇
    2014年
  • 25篇
    2013年
  • 68篇
    2012年
成就勋章
TA的专栏
  • 网络通信
    1篇
  • C#
    1篇
  • Android
    78篇
  • Tool
    23篇
  • 读书笔记
    2篇
  • IT职场
    1篇
  • JavaScript
  • IOS
    3篇
  • 综合
    4篇
  • 服务端
  • HTML5
    1篇
  • JAVA
    19篇
  • Java线程并发
    8篇
  • Java内存管理
    7篇
  • Java性能优化
    3篇
  • Android NDK
    4篇
  • Android知道
    4篇
  • Android图片处理
    5篇
  • Android逆向分析
    5篇
  • Android内存优化
    11篇
  • Android性能优化
    13篇
  • Android开发策略
  • Android屏幕适配
    2篇
  • Android进程通信
    6篇
  • Androd开发工具
    2篇
  • Android调试定位
    6篇
  • Android数据读写
    6篇
  • Android网络通信
    2篇
  • Android界面动画
    8篇
  • Android四大组件
    12篇
  • Android自定义控件
    5篇
  • Android各种Manager
    1篇
  • Android高阶功能
    1篇
  • Android移动安全
    1篇
  • Linux攻略
    2篇
  • Android应用质量
    2篇
  • Android源码
    1篇
兴趣领域 设置
  • 前端
    javascriptwebpack
  • 移动开发
    flutter
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

六大原则

单一原则:简单地说就是一个类只做一件事。如果你遵守了这个原则,那么你的类就会划分的很细,每个类都有比较单一的职责,这不就是高内聚、低耦合么!单一职责原则并不是一个类只能有一个函数,而是说这个类中的函数所做的工作是高度相关的,也就是高内聚。依赖反转原则:设计和实现要依赖于抽象而非具体。里氏替换原则:继承会给程序带来侵入性,程序的可移植性降低,增加了对象间的耦合性,如果一个类被其他的类所继承,...
原创
发布博客 2018.03.13 ·
754 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ReentrantLock

ReentrantLock是可重入锁,或者说其持有一个锁计数器,当已持有所的线程再次获得该锁时计数器值加1,每调用一次lock.unlock()时所计数器值减一,直到所计数器值为0,此时线程释放锁;一般try前执行lock(),try中为受保护代码段;finally中执行unlock()可以保证发生异常 锁可以得到释放 避免死锁的发生;ReentrantLock的主要缺点是方法需要置于...
原创
发布博客 2018.03.13 ·
433 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android 系统稳定性 - ANR(二)

1.2 如何分析ANR问题引起ANR问题的根本原因,总的来说可以归纳为两类:应用进程自身引起的,例如:主线程阻塞、挂起、死循环应用进程的其他线程的CPU占用率高,使得主线程无法抢占到CPU时间片其他进程间接引起的,例如:当前应用进程进行进程间通信请求其他进程,其他进程的操作长时间没有反馈其他进程的CPU占用率高,使得当
转载
发布博客 2017.11.29 ·
2039 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Android 系统稳定性 - ANR(一)

如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡、缴税和ANR。这么说是夸张了,但是由于Android本身的设计,以及应用程序和系统在开发过程中的缺陷,经常会在测试过程中遇到各种各样的ANR问题。在功能性的测试中还少一些,主要是在压力测试中(例如Monkey测试)会遇到非常多的ANR问题。本章的目的就是汇总笔者在工作中遇到的各种ANR问题,将其归纳总结出一套分析和处
转载
发布博客 2017.11.29 ·
494 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android debuggerd 源码分析

debuggerd 简介Android系统自带一个实用的程序异常退出的诊断daemon debuggerd。此进程可以侦测到程序崩溃,并将崩溃时的进程状态信息输出到文件和串口中,以供开发人员分析调试使用。Debuggerd的数据被保存在/data/tombstone/目录下,共可保存10个文件,当超过10个时,会覆盖重写最早生产的文件。串口中,则直接用DEBUG的tag,输出logcat信
转载
发布博客 2017.05.18 ·
1077 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Gradle配置lintOptions

lint检查对于app来说也是很重要的,可以检查出很多问题。 lint配置 从stackoverflow上扒了一个配置。android { lintOptions { // true--关闭lint报告的分析进度 quiet true // true--错误发生后停止gradle构建 abortOnError fa
转载
发布博客 2017.03.07 ·
24877 阅读 ·
8 点赞 ·
0 评论 ·
32 收藏

Android native CursorWindow数据保存原理

转自http://blog.csdn.net/ifloveelse/article/details/28394103我们通过Uri查询数据库所得到的数据集,保存在native层的CursorWindow中。CursorWindow的实质是共享内存的抽象,以实现跨进程数据共享。共享内存所采用的实现方式是文件映射。在ContentProvider端透过SQLiteDatab
转载
发布博客 2017.01.03 ·
1050 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion

原文出自:http://www.open-open.com/lib/view/open1453253049558.html英文原文:Picking your compileSdkVersion, minSdkVersion, and targetSdkVersion作者:Ian Lake,Google Android 推广工程师;翻译:韩国恺。blob.png当你发布一个应用之后,(取决于具体的发布
原创
发布博客 2016.11.27 ·
373 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android中JavaScript和Native之间的Bridge

原文地址:http://rensanning.iteye.com/blog/2043049为什么手机浏览器或者WebView中不能执行JavaScript调用本地API,而在HTML5混合式应用中却能执行? JavaScript调用本地API大概有4种方法: (1)addJavascriptInterface/@JavascriptInterface And
转载
发布博客 2016.08.29 ·
2137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android HTTPS详解

前言最近有一个跟Https相关的问题需要解决,因此花时间学习了一下Android平台Https的使用,同时也看了一些Https的原理,这里分享一下学习心得。HTTPS原理HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HT
转载
发布博客 2016.07.11 ·
898 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java虚拟机运行时数据区

【本文来自网路,仅供参考】经常有人把Java内存区分为堆内存(Heap)和栈内存(Stack),这种区分方法比较粗糙,Java内存区域的划分实际上远比这复杂。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,主要包括:虚拟机栈本地方法栈PC寄存器方法区堆区这些数据区域中大致可
原创
发布博客 2016.04.21 ·
549 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

如何在Android Studio项目中导入开源库?

前两天,谷歌发布了 Android Studio 1.0的正式版,也有更多的人开始迁移到 Android Studio 进行开发。然而,网上很多的开源库,控件等还是以前的基于 Eclipse 进行开发,很多人不知道怎么导入到自己的基于 Android Studio 项目中来,这里主要介绍一下常见的一些导包的场景。前言同 Eclipse中的项目一样,gradle/andr
转载
发布博客 2016.01.03 ·
1102 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android耗电评估

这里只是使用最简单的方法对你的app的电量消耗进行评估,如果还想更加详细或者复杂的方法,可以使用一些比较专用的工具,比如Emmagee(https://github.com/NetEase/Emmagee),这个就很好用。第一招:看系统的 设置-电池 里面的耗电排名。除非你的APP耗电很出格,一用手机就发烫、电量直线往下掉,否则,对于大多数用户,你到底耗电怎么样,主要就是看这个了。先测测你的静默耗电
转载
发布博客 2015.12.09 ·
1970 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Linux上wifi找不到网络的解决

root@User-pc:~# ifconfigroot@User-pc:~# ifconfig wlan0 downroot@User-pc:~# ifconfig wlan0 up  //到这一般就可以了root@User-pc:~# ifdown wlan0root@User-pc:~# ifup wlan0小结:重启网卡
原创
发布博客 2015.12.08 ·
10507 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

swap、page、mmap和Ashmem

【swap 和 page】Linux系统通过2种方法进行内存管理,“调页算法(page)”,“交换技术(swap)”。调页算法是将内存中最近不常使用的页面换到磁盘上,把常使用的页面(活动页面)保留在内存中供进程使用。交换技术是系统将整个进程,而不是部分页面,全部换到磁盘上。【swap 和 page】Linux的swap分区:交换空间是专门用于临时存储内存的一块磁盘空间,通常在页面调度和交换进程数据时
原创
发布博客 2015.11.23 ·
1468 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android上用tcpdump抓包(转)

1. 手机要有root权限2. 下载tcpdump   http://www.strazzere.com/android/tcpdump3. adb push c:\wherever_you_put\tcpdump /data/local/tcpdump4. adb shell chmod 6755 /data/local/tcpdump5, adb shell, 
原创
发布博客 2015.11.06 ·
947 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

集合的性能提升

ArrayList中查找用binarySearch比indexOf高效,因为前者是二分查找,后者是逐个查找,但前者的使用前提是元素要排序,否则准确性不可靠。
原创
发布博客 2015.10.20 ·
566 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android 系统源码导入 eclipse

1.复制development/ide/eclipse/.classpath 到源码的根目录下; 2.eclipse中创建java工程,不用起工程名,去掉勾选『Use default location』,选择源码目录ps:如果源码目录是只读的,导入会报权限不够,执行以下命令赋予权限,sudo chmod -R 777 源码目录
原创
发布博客 2015.10.12 ·
979 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux基本概念

主分区(包括扩展分区)的最大个数是四个,所以主分区(包括扩展分区)范围是从1-4,逻辑分区是从5开始的;
原创
发布博客 2015.10.10 ·
670 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux常用命令

查看磁盘使用情况:df -h查看挂载磁盘:sudo fdisk -l
原创
发布博客 2015.10.10 ·
535 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多