我们在红点push 的到达和点击的地方,都加了布点。后来功能上了线,发现,每天的点击都比到达高!

这肯定不科学。

赶紧查问题,打开程序,发红点,关闭程序,布点上传。没问题。数据部门可以收到红点啊!

从此我就觉得,不是我客户端的问题。后来也懒得排查。

后来我们老大催促我,好吧,再跟进一下。

沉迷于该问题,不能自拔,吃饭睡觉的时候,想的都是这个问题。我现在测得场景没有问题,那么到底是什么场景下有问题呢?因为用户的场景都是很复杂的。而且数据部门,给出来了某个用户的数据,每天就只有点击没有到达!

终于想到了一种情况,应用没有启动的时候,可以收到push 吗? 尝试下了,可以。那么这种情况下,布点系统是不是没有初始化? 配合测试排查,发现是有初始化的。布点是肯定打点了,那么还有什么场景,导致布点没有上报到数据部门吗?

如果这个到达布点到了,但是如果用户长时间没有启动程序,或者用户一键清理内存,把进程杀死了,就不会些写文件,因为布点系统是有缓存的,超过40条才会写文件。妈的,终于查到问题了。

vivo红点点击比到达高的问题查到原因了。因为vivo电子书没有启动的时候,可以收到红点push,这时候电子书进程会启动,同时会布点,但是布点不会写在文件里面,因为只有布点条数超过40,才会触发写文件。这种情况下,如果用户长时间没有点击电子书启动,或者用户一键清理内存,把我们进程杀死,布点就不会写到文件里面,造成遗漏。后面我们会把到达改成实时布点。前期数据请以点击为准,因为点击必达到。情况比较复杂,造成排查问题时间比较久,多有不便,敬请谅解。

总结

1.你测得这种情况下没有问题,只能说明,这种情况下没有问题。不代表代码没有问题!有问题的场景,你需要想出来!

2.问题可能很难查,但是花时间,去思考什么场景下有问题,大部分都可以找到问题的。

android开发过程中项目中遇到的坑----布点问题的更多相关文章

  1. Android中项目中各个文件夹的含义和用途详解

    1.src:存放所有的*.java源程序. 2.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3.assets:可以存放项目一些较大的资源文件,例如:图片. ...

  2. Android Studio 在项目中引用第三方jar包

    在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets { main { ...

  3. android直接读取项目中的sqlite数据库

    最近项目中要实现android读取sqlite数据库文件,在这里先做一个英汉字典的例子.主要是输入英语到数据库中查询相应的汉语意思,将其答案输出.数据库采用sqlite3. 如图: 实现过程完全是按照 ...

  4. Android Studio修改项目中整体包名

    莫名的需求,要把之前的apk分成三个不同的apk,还要在应用市场能够上线,麻麻滴这样一听那还不要各个apk包的包名不同以及apk签名文件也不同嘛(签名文件一般也用不同,为防止上线冲突嘛).所以就亲自尝 ...

  5. Android Studio] Gradle项目中添加JNI生成文件(.so文件)

    转:http://blog.csdn.net/qiujuer/article/details/24209457 为了适应潮流使用Android Studio还是有半年多了! 对于从Eclipse迁移项 ...

  6. [Android][Android Studio] Gradle项目中加入JNI生成文件(.so文件)

    版权声明:本文作者:Qiujuer https://github.com/qiujuer; 转载请注明出处,盗版必究! ! ! https://blog.csdn.net/qiujuer/articl ...

  7. Android studio 一个项目中添加两个module遇到的bug

    1.在一个Android studio中,我添加了一个模块,然后就是各种bug 找到到R 是在module 名上面 右键 Make Module '模块名' 经过各种google 的时候发现了 htt ...

  8. Android Studio向项目中导入jar包的方法

    第一步: 切换到"Project"视图,找到app --> libs目录 第二步: 将需要导入的jar包粘贴到libs目录中,此时还不能看到jar包中的内容 第三步: 右键点 ...

  9. Android Studio Gradle项目中加入JNI so文件

    首先在Android Studio(版本号1.2.2)project的app文件夹下创建整个jni文件夹,jni文件夹里写Android.mk.Application.mk以及各类C/C++和汇编源文 ...

随机推荐

  1. Uva 11294 婚姻

    题目链接:https://vjudge.net/contest/166461#problem/C 题意: n对夫妻,有m对人吵过架,不能排在同一边,求新娘的一边的人: 分析: 每对夫妻,看成两个点,女 ...

  2. React中的虚拟DOM

    当组件当state和props发生变化当时候,组件当render函数就会重新执行,组件就会被重新渲染,react中实现这种重新渲染,他的性能是非常高的,因为他引入了一个虚拟Dom的概念,那么什么是虚拟 ...

  3. 最短路算法 —— Dijkstra算法

    用途: 解决单源最短路径问题(已固定一个起点,求它到其他所有点的最短路问题) 算法核心(广搜): (1)确定的与起点相邻的点的最短距离,再根据已确定最短距离的点更新其他与之相邻的点的最短距离. (2) ...

  4. Ubuntu 16.04 源码方式安装 JDK

    1.去官网下载JDK http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html 2.下载完成后,创建一个我们将要安 ...

  5. eclipse集成tomcat 部署项目设置

    ============================================================= 1. 下载安装tomcat插件 ====================== ...

  6. react(三):容器组件和傻瓜组件

    让一个组件只专注于一件事,如果发现让一个组件做的事情太多,就可以把这个组件拆分成多个组件让每一个组件只专注于一件事 <深入浅出react和redux> ---程墨 一个react组件最基本 ...

  7. Java跨系统调用接口(POST)

    package com.bing.util; import com.bing.constant.ResultModel; import com.bing.model.Company; import c ...

  8. 前端关于SEO

    提高页面加载速度. 能用css解决的不用背景图片,背景图片也尽量压缩大小,可以几个icons放在一个图片上,使用background-position找到需要的图片位置.可以减少HTTP请求数,提高网 ...

  9. 【剑指offer】 Java实现重建二叉树

    GitHub上的代码链接 /** * @Author: DaleyZou * @Description: 重建二叉树 * 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树. * 假设输入的前序 ...

  10. Git基本使用及工具

    好久没用git管理代码了,最近忙着要实习,一直在看面试题,后天入职了,就提前再复习一下git吧. git比较方便的两个网站,如果你想逼格高就用GitHub(https://github.com/),如 ...